我非常惊讶地发现,在我目前正在编写的应用程序中,当我让它播放通知声音时,无论手机是否设置为静音,它都会播放!
手机静音模式当然应该是一个压倒一切的功能,还是我打算检查一下? 我快速浏览了文档,但没有看到任何说明?我错过了什么吗?
这是我的通知代码:
Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
v.vibrate(300);
Uri alert = RingtoneManager
.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
MediaPlayer mMediaPlayer = new MediaPlayer();
mMediaPlayer.setDataSource(this, alert);
final AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
if (audioManager.getStreamVolume(AudioManager.STREAM_ALARM) != 0) {
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_ALARM);
mMediaPlayer.setLooping(false);
mMediaPlayer.prepare();
mMediaPlayer.start();
}
在此感谢您的任何反馈!
行为
最佳答案
不确定您查看的文档,但在 Nexus One 上,静音模式复选框下方清楚地写着:
Silence all sounds except media & alarms.
在您的示例中,您正在播放警报(不是通知),所以它是正确的。
关于Android,即使在静音状态下手机也会播放通知声音?我应该检查静音模式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6122769/