Android – 標題的狀態列 [Notification Bar]

當我們寫好一支程式, 尤其是常駐型的程式,
多半我們要通知使用者, 除了鈴聲、振動外, 最常使用的應該就是在狀態列上
顯示所要表達的內容文字, 並且讓使用者可以點選後, 執行該相關的程式

底下是如何把訊息顯示在狀態列上

// 取得訊息提示服務的管理物件
NotificationManager nManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

// 將訊息顯示在 "狀態列" 上
Notification msg = new Notification(
	R.drawable.icon_ft, 		// 訊息圖示 (會自動縮放)
	"這個是足球 !!", 			// 要顯示的訊息
	System.currentTimeMillis()	// 傳送的時間
);

// 將訊息顯示在 "狀態欄" 上
PendingIntent intent = PendingIntent.getActivity(
	this, 
	0, 
	new Intent(this, AndroidTuition.class), 
	PendingIntent.FLAG_UPDATE_CURRENT
);

msg.setLatestEventInfo(Test.this, "請注意 !!", "這是一顆足球....", intent);
nManager.notify(0, msg);

首先, 必需要先有一個管理的物件來管理訊息提醒的功能 “NotificationManager"
這個管理的物件可直接經由 Activity 中直接呼叫 getSystemService(NOTIFICATION_SERVICE) 的 Method 來取得
若是要取得其它的功能, 例如 “鬧鈴", 則可使用相同的方式來取得 AlarmManager
“getSystemService(ALARM_SERVICE);"

上述程式碼當中主要的功能有三段
1. 取得服務的管理物件
2. 在狀態列上顯示訊息
3. 在狀態欄中顯示訊息 (標題列下拉後的視窗)

而程式裡頭的 PendingIntent.getActivity() 是指當使用者點選狀態欄中的資料後,
系統該去執行哪一個 Activity

About these ads

~ 由 Jacob 於 二月 4, 2010.

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s

 
關注

Get every new post delivered to your Inbox.

%d 位部落客按了讚: