我正在尝试接收推送通知时播放声音。代码的要点如下:
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();
但是,我更愿意通过通知实例本身来解决这个问题,而不是手动播放声音。
答案 0 :(得分:4)
代码中的其他位置,我们使用mBuilder.setDefaults(DEFAULT_ALL)
,这意味着DEFAULT_SOUND
。注释文件:
使用默认通知声音。 这会忽略任何给定的声音。