Stackoverflow 上至少有 7 个与此相关的问题,我已经多次尝试了每一个建议和解决方案,但都没有奏效。这是我最近的尝试:
private Notification createNotification() {
Notification notification = new Notification();
if(notifyImage=="food")
{
notification.icon = R.drawable.food;
notification.sound = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://com.example.memoryGuide/raw/start");
}
else
{
notification.icon = R.drawable.bar;
notification.sound = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://com.example.memoryGuide/raw/start");
}
notification.when = System.currentTimeMillis();
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notification.flags |= Notification.FLAG_SHOW_LIGHTS;
notification.defaults |= Notification.DEFAULT_VIBRATE;
notification.defaults |= Notification.DEFAULT_LIGHTS;
notification.ledARGB = Color.WHITE;
notification.ledOnMS = 1500;
notification.ledOffMS = 1500;
return notification;
}
你可以看到我两次尝试使用的声音都无法正常工作,但图标工作得很好。我不知道我是否遗漏了任何东西以使其正常工作,但我使用的所有代码都在我的帖子中。
我的声音文件在 res/raw/start.mp3 中,按下按钮时我可以让这个声音工作,所以声音很好。
我认为包名是对的,我的应用程序在每个类的顶部都有这个:
package com.example.memoryGuide;
任何想法为什么声音从不播放?