編輯:關於Android編程
通知用於在有事件發生時,將事情以更便捷的方式展示給用戶。用戶可以在他們方便的時候直接與通知交互。
Notifications design guide課程講述了如何設計有效的通知以及何時去使用它們。這節課將會學習如何實現通用的通知設計。
這節課的實現主要基於NotificationCompat.Builder類,NotificationCompat.Builder類屬於支持庫。開發者應該使用NotificationCompat及其子類,特別是NotificationCompat.Builder,以便支持更寬泛的平台。
當創建通知時,需要指定通知的UI內容以及它的點擊行為。一個Builder對象至少要包含以下條件:
一個小圖標,通過setSmallIcon()方法設置。 通知標題,通過setContentTitle()方法設置。 詳細文本,通過setContentText()方法設置。比如:
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.notification_icon)
.setContentTitle("My notification")
.setContentText("Hello World!");
創建通知時,應當至少為通知添加一個行為。這個行為會將用戶帶到Activity中,這個Activity中詳細的展示了發生了什麼事情,或者可以使用戶采取進一步的行動。在通知內部,行為由PendingIntent所包含的Intent指定,它可以用來啟動Activity.
如何構造PendingIntent取決於要啟動的Activity的類型。當由通知啟動Activity時,開發者必須考慮用戶所期待的導航體驗。在下面的代碼中,點擊通知會啟動一個新的Activity,這個Activity繼承了通知所產生的行為習慣。在這種情況下不需要創建人為的回退棧。
Intent resultIntent = new Intent(this, ResultActivity.class);
...
// Because clicking the notification opens a new ("special") activity, there's
// no need to create an artificial back stack.
PendingIntent resultPendingIntent =
PendingIntent.getActivity(
this,
0,
resultIntent,
PendingIntent.FLAG_UPDATE_CURRENT
);
為了使PendingIntent與手勢產生關聯,需要調用NotificationCompat.Builder的對應方法。比如要啟動一個Activity,則調用setContentIntent()方法添加PendingIntent即可。
發布通知需要執行以下步驟:
獲得NotificationManager的實例。 使用notify()方法發布通知。在調用notify()方法時需要指定通知的ID,這個ID用於通知的稍後更新。 調用build()方法,它會返回一個Notification對象。
NotificationCompat.Builder mBuilder;
...
// Sets an ID for the notification
int mNotificationId = 001;
// Gets an instance of the NotificationManager service
NotificationManager mNotifyMgr =
(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
// Builds the notification and issues it.
mNotifyMgr.notify(mNotificationId, mBuilder.build());
原文地址:http://android.xsoftlab.net/training/notify-user/index.html
如圖,Android上新開的線程如想更新UI,需要重新跳到主線程中才能操作,以下是老外給出的幾種方案,大家多多學習下.private void loadIcon() {
Eclipse/ADTADT是Google在Eclipse基礎上封裝了Android開發工具的環境,最新版本是2014年7月2日發布的adt-bundle-windows
本文實例為大家分享了Android Chronometer計時器基本使用方法,供大家參考,具體內容如下在默認情況下,Chronometer組件只輸出MM:SS或H:MM:
ContentProvider 1.適用場景 1) ContentProvider為存儲和讀取數據提供了統一的接口 2) 使用ContentProvider,應用