我正在尝试测试通知。我创建了一个启用了音频播放的模拟器。我能收到通知,但我听不到声音。可能是什么问题呢?我缺少任何设置吗?
NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(ns);
int icon = R.drawable.icon;
CharSequence tickerText = "Hello";
CharSequence contentTitle = "My notification"; // expanded message title
CharSequence contentText = "Hello"; // expanded message text
Intent notificationIntent = new Intent("ABC");
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0);
long when = System.currentTimeMillis();
Notification notification = new Notification(icon, tickerText, when);
notification.defaults |= Notification.DEFAULT_SOUND;
notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
mNotificationManager.notify(HELLO_ID, notification);
当我看到logcat时,我有以下堆栈跟踪。
09-20 15:44:47.297: DEBUG/MediaPlayer(62): Couldn't open file on client side, trying server side
09-20 15:44:47.347: ERROR/MediaPlayerService(34): Couldn't open fd for content://settings/system/notification_sound
09-20 15:44:47.347: ERROR/MediaPlayer(62): Unable to to create media player
09-20 15:44:47.415: WARN/NotificationService(62): error loading sound for content://settings/system/notification_sound
09-20 15:44:47.415: WARN/NotificationService(62): java.io.IOException: setDataSource failed.: status=0x80000000
09-20 15:44:47.415: WARN/NotificationService(62): at android.media.MediaPlayer.setDataSource(Native Method)
09-20 15:44:47.415: WARN/NotificationService(62): at android.media.MediaPlayer.setDataSource(MediaPlayer.java:714)
09-20 15:44:47.415: WARN/NotificationService(62): at android.media.MediaPlayer.setDataSource(MediaPlayer.java:669)
09-20 15:44:47.415: WARN/NotificationService(62): at com.android.server.NotificationPlayer$CreationAndCompletionThread.run(NotificationPlayer.java:88)
答案 0 :(得分:6)
这个想法是正确的。阅读another person's problems后,我添加了指定的目录结构,并将声音文件推送到DDMS中的/mnt/sdcard/media/audio/notifications
目录。 (我认为C:\Program Files (x86)\Android\android-sdk\platforms\android-14\data\res\raw\fallbackring.ogg
发出良好的通知声音。)在模拟器中,我然后卸载然后重新安装SD卡。除了“静音”之外,通知铃声设置还有“Cobalt”,选择后,我的通知听起来很正常。
答案 1 :(得分:4)
我能够通过在SD卡上提供不同的文件来获得通知声音播放。我在播放默认声音时遇到问题。我不确定默认声音是什么。当我进入设置并看到默认声音时 - 它只有一个选项,即无声。我也无法改变它。 所以可能没有默认的通知声音,因此我得到了这个错误,虽然我们假设,会有一个合理的默认值。