能夠給Notification設置缺省的表現形式:
notification.defaults=?
Notification.DEFAULT_SOUND
Notification.DEFAULT_VIBRATE
Notification.DEFAULT_ALL
Notification.DEFAULT_LIGHTS
1 手機發聲
Android容許你播聽任何手機中的音樂文件做爲Notification,經過給sound屬性設置一個位置URI,以下面的代碼片斷所示:
notification.sound = ringURI;
例如:
Uri ringURI = Uri.fromFile(new File(「/system/media/audio/ringtones/ringer.mp3」));
notification.sound = ringURI;
2 手機震動
你可使用手機的震動函數來針對Notification來讓手機執行特定樣式的震動。Android容許你控制震動的樣式;你可使用震動來傳達信息以獲取用戶的注意。
爲了設置震動樣式,給Notification的vibrate屬性設定一個時間數組。構建一個數組,每一個間隔的數字相應地表明震動或暫停的時間長度(毫米爲單位)。
在你的程序中使用震動以前,你須要給程序授予權限。使用下面的代碼片斷來爲應用程序添加uses-permission節點:
<uses-permission android:name=」android.permission.VIBRATE」/>
接下來的例子顯示瞭如何修改Notification的震動,以重複的方式1秒震動、1秒中止,共5秒。
long[] vibrate = new long[] { 1000, 1000, 1000, 1000, 1000 };
notification.vibrate = vibrate;
你能夠利用這個細微的控制來向用戶傳遞信息。
目前的Android模擬器不能直觀的或者可聽見的感覺到設備的震動。爲了證明Notification工做正常,你能夠監視「Vibration On」/「Vibration Off」的log輸出。
3 手機閃光
Notification也包含屬性來設置手機LED的顏色和閃爍頻率。
ledARGB屬性用於設置LED的顏色,而ledOffMS和ledOnMS屬性用來設置LED閃爍的頻率和樣式。你能夠設置ledOnMS屬性爲1,ledOffMS屬性爲0來讓LED始終亮着;或者將二者設置爲0來將LED關閉。一旦你設置了LED的設定,你也必須爲Notification的flags屬性添加FLAG_SHOW_LIGHTS標誌位。
接下來的代碼片斷顯示瞭如何將點亮紅色的LED:
notification.ledARGB = Color.RED;
notification.ledOffMS = 0;
notification.ledOnMS = 1;
notification.flags = notification.flags | Notification.FLAG_SHOW_LIGHTS;
控制顏色和閃爍頻率是爲向用戶傳遞信息的另外一種途徑。
目前的Android模擬器不能直觀地觀察LED。這使得證明LED是否閃爍正確變得至關困難。對於硬件來講,每一個設備可能設置有不一樣的LED顏色數量的限制。對於這些狀況,只能儘量近似的測試。
4 正在進行的和持續的Notification
經過設置FLAG_INSISTENT和FLAG_ONGOING_EVENT 標誌位可讓Notification成爲持續或正在進行的Notification。
Notification標記爲ONGOING,以下面的代碼所示,它就能用於表示當前正在進行的事件(如來電)。正在進行的事件與「普通的」Notification區別在擴展的狀態條窗口中。
notification.flags = notification.flags | Notification.FLAG_ONGOING_EVENT;
持續的Notification一直重複,直到用戶取消。下面的代碼給出瞭如何設置Notification爲持續的:
notification.flags = notification.flags | Notification.FLAG_INSISTENT;
持續Notification反覆重複開頭的Notification效果,直到用戶取消。持續的Notification應該保留給如鬧鐘的情形,它須要及時的採起響應。android