我想在收到推送通知时播放声音。代码的核心看起来像这样:
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();
然而,我更倾向于通过通知实例本身来解决这个问题,而不是手动播放声音。