Android通知之狀態列通知

我叫阿狸貓發表於2014-02-12

狀態列通知:

//狀態列通知
public void stateBar(View view){
	//1.得到通知管理器
	NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
	//2.構建通知
	Notification notification = new Notification(android.R.drawable.star_big_off, "這是top資訊", System.currentTimeMillis());
	//3.設定通知的點選事件,可以   開啟Activity[PendingIntent.getActivity] 開啟服務[PendingIntent.getService] 傳送廣播[PendingIntent.getBroadcast]
	Intent intent = new Intent();
	intent.setAction(Intent.ACTION_CALL);
	intent.setData(Uri.parse("tel:110"));
	/**
	 * 引數一:上下文環境
	 * 引數二:請求碼(隨意)
	 * 引數三:由於這裡是開啟Activity,所以引數三就是意圖
	 * 引數四:標誌位(寫0即可)
	 */
	PendingIntent contentIntent = PendingIntent.getActivity(getApplicationContext(), 100, intent, 0);
	//步驟三,上面設定的都是步驟三的引數
	notification.setLatestEventInfo(getApplicationContext(), "通知標題", "通知內容", contentIntent );
	
	notification.flags = Notification.FLAG_AUTO_CANCEL;//將通知從上拉下來點選後,從上拉下來的這個地方就不顯示通知了(點選後自動取消)
	notification.sound = Uri.parse("/mnt/sdcard/jiaodizhu.mp3");//設定收到通知後的聲音
	
	//4.傳送通知
	manager.notify(id++,notification);//第一個引數讓他改變的話,就可以在最上邊這一欄有多個通知,否則同一種的只顯示一個
}


將通知欄拉下來,如果希望點選通知後自動清除通知欄裡的通知就設定notification.flags = Notification.FLAG_AUTO_CANCEL;


相關文章