您好,登錄后才能下訂單哦!
Notification是Android系統中的一種通知服務,通過狀態欄。手機震動、LED、提示音等多種方式提供了豐富而良好的用戶體驗。
一般使用步驟:
獲取NotificationManager對象,調用系統NOTIFICATION_SERVICE服務,獲取NotificationManager實例:NotificationManager notificationmanager=(NotificationManager)getSystemService(NOTIFICATION_SERVICE).
創建一個Notification對象并設置Notification的各項屬性。
執行通知:notificationmanager.notify().
實例如下:按鈕1文字通知,按鈕2聲音提示,按鈕3震動提示。
public class MainActivity extends Activity {
private Button textbutton,soundbutton,vibratebutton,ledbutton;
private NotificationManager nm;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textbutton=(Button)findViewById(R.id.button1);
soundbutton=(Button)findViewById(R.id.button2);
vibratebutton=(Button)findViewById(R.id.button3);
nm=(NotificationManager)this.getSystemService(NOTIFICATION_SERVICE);
textbutton.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
// TODO Auto-generated method stub
PendingIntent intent=PendingIntent.getActivity(MainActivity.this, 0, new Intent(MainActivity.this,MainActivity.class), 0);
//點擊通知跳轉到MainActivity
Notification notification=new Notification.Builder(MainActivity.this)
.setAutoCancel(true)
.setContentTitle("文字通知")
.setContentText("這是一個文字通知。")
.setContentIntent(intent)
.setSmallIcon(R.drawable.ic_launcher)
.setWhen(System.currentTimeMillis())
.build();
nm.notify(0,notification);
}
});
soundbutton.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
Notification notification=new Notification();
String ringname=RingtoneManager.getActualDefaultRingtoneUri(MainActivity.this, RingtoneManager.TYPE_RINGTONE).toString();
notification.sound=Uri.parse(ringname);
nm.notify(0,notification);
}
});
vibratebutton.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
Notification notification=new Notification();
notification.vibrate=new long[]{0,100,200,300};
nm.notify(0,notification);
}
});
}
}
xml中是3個按鈕。
注意:低于API Level 11版本,也就是Android 2.3.3以下的系統中,setLatestEventInfo()函數是唯一的實現方法。前面的有關屬性設置這里就不再提了,網上資料很多。
Intent intent = new Intent(this,MainActivity);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_ONE_SHOT);
notification.setLatestEventInfo(context, title, message, pendingIntent);
manager.notify(id, notification);
高于API Level 11,低于API Level 16 (Android 4.1.2)版本的系統中,可使用Notification.Builder來構造函數。但要使用getNotification()來使notification實現。此時,前面版本在notification中設置的Flags,icon等屬性都已經無效,要在builder里面設置。
Notification.Builder builder = new Notification.Builder(context)
.setAutoCancel(true)
.setContentTitle("title")
.setContentText("describe")
.setContentIntent(pendingIntent)
.setSmallIcon(R.drawable.ic_launcher)
.setWhen(System.currentTimeMillis())
.setOngoing(true);
notification=builder.getNotification();
高于API Level 16的版本,就可以用Builder和build()函數來配套的方便使用notification了。
Notification notification = new Notification.Builder(context)
.setAutoCancel(true)
.setContentTitle("title")
.setContentText("describe")
.setContentIntent(pendingIntent)
.setSmallIcon(R.drawable.ic_launcher)
.setWhen(System.currentTimeMillis())
.build();
這就是簡單的Notification消息通知。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。