高级Notification技巧
在接下来的章节,你将学习如何增强Notification功能——通过硬件来提供额外的警示,如让设备响铃、闪光和振动。
上述描述的每个增强功能,你都将看到一个代码片段,你可以将它们添加到Earthquake例子中,在每次检测到地震时,都会给用户提供反馈。
在这里描述的Notification技巧中不包括显示状态条图标,在每次Notification触发后,只是简单直接的取消了Notification。这阻止了图标的显示,却不影响其它的用户体验。
手机发声
使用声音警示来通知用户有设备事件(如来电)是早于移动设备的技术,经受住时间的考验。大多数本地的手机事件,从来电到新消息和低电量,都采用悦铃来通知用户。
Android允许你播放任何手机中的音乐文件作为Notification,通过给sound属性设置一个位置URI,如下面的代码片段所示:
notification.sound = ringURI;
为了使用你自己的音乐文件,将文件导到设备上,或者以raw资源的方式来包含它,如第6章中描述的那样。
接下来的代码片段可以添加到Earthquake Service中的announceNewQuake方法里。它为Earthquake Notification添加了声音组件,当重大的地震(级别超过6)发生时响起默认的手机铃声。
if (quake.getMagnitude() > 6)
{
Uri ringURI = Uri.fromFile(new File(“/system/media/audio/ringtones/ringer.mp3”));
newEarthquakeNotification.sound = ringURI;
}