Android Notification.Builder.setSound无效

Android Notification.Builder.setSound无效,android,push-notification,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(s

当收到推送通知时,我试图播放声音。代码的要点如下所示:

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();

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

在代码中的其他地方,我们使用了
mBuilder.setDefaults(DEFAULT\u ALL)
,这意味着
DEFAULT\u声音
。文件应注明:

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