Notification.Builder.setSound无效

时间:2014-08-29 10:15:30

标签: android push-notification

我正在尝试接收推送通知时播放声音。代码的要点如下:

Resources r = getResources();
int resourceId = r.getIdentifier(soundName, "raw", context.getPackageName());
Uri soundUri = Uri.parse("android.resource://" + context.getPackageName() + "/" + resourceId);
mBuilder.setSound(soundUri);

但是,只有收到通知时才会播放默认通知声音。

如果我用MediaPlayer播放声音,它播放就好了。所以我必须假设URI是正确的。

MediaPlayer mMediaPlayer = new MediaPlayer();
mMediaPlayer = MediaPlayer.create(this, resourceId);
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mMediaPlayer.setLooping(false);
mMediaPlayer.start();

但是,我更愿意通过通知实例本身来解决这个问题,而不是手动播放声音。

1 个答案:

答案 0 :(得分:4)

代码中的其他位置,我们使用mBuilder.setDefaults(DEFAULT_ALL),这意味着DEFAULT_SOUND。注释文件:

  

使用默认通知声音。 这会忽略任何给定的声音。