Android通知Notification,android
一個小demo。點擊 發送通知 按鈕,則發送通知到裝置的通知欄。點擊 清除通知 則清除通知欄上的訊息通知。
package zhangphil.notification;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.app.Activity;import android.app.Notification;import android.app.NotificationManager;import android.support.v4.app.NotificationCompat;public class MainActivity extends Activity {private final int NOTIFICATION_ID = 105;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button send = (Button) findViewById(R.id.send);send.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {sendNotification();}});Button clear = (Button) findViewById(R.id.clear);clear.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {clearNotification();}});}private void sendNotification() {NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this);mBuilder.setSmallIcon(R.drawable.ic_launcher);mBuilder.setContentTitle("通知的標題");mBuilder.setContentText("通知的內容");Notification notification = mBuilder.build();// 預設設定為當發送通知到通知欄時候:提示聲音 + 手機震動notification.defaults = Notification.DEFAULT_SOUND| Notification.DEFAULT_VIBRATE ;// 通知的時間notification.when = System.currentTimeMillis();// 發送到手機的通知欄notificationManager.notify(NOTIFICATION_ID, notification);}private void clearNotification() {NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);notificationManager.cancel(NOTIFICATION_ID);}}
需要的activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <Button android:id="@+id/send" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="發送通知" /> <Button android:id="@+id/clear" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="清除通知" /></LinearLayout>