我知道这个问题已经被问过很多次了,但我仍然在让它工作时遇到问题。
在我的应用程序中,我创建了一个通知来提示用户某些事件,并且我想播放已打包为应用程序中的原始资源的声音。
我创建我的通知实例:
Notification notification = new Notification(
R.drawable.some_image,
"some meaningful name",
System.currentTimeMillis() );
notification.setLatestEventInfo(...)
然后在该通知上设置一些属性:
notification.sound = Uri.parse( "android.resource://com.my.package/" + R.raw.some_mp3_file );
notification.flags = Notification.FLAG_INSISTENT;
最后我调用 NotificationManager 来显示通知:
notificationManager.notify( 1, notification );
通知确实出现了,但声音没有播放。
难道我做错了什么?我缺少 <uses-permission> 吗?我看不出我所做的任何事情与其他任何人似乎已经让它发挥作用的不同之处。
对于它的价值,我直接在 Nexus 7 上进行测试。