我想禁用所有传入通知的声音和振动。我不介意电话呼叫振动也会被关闭。但不应触及用户电话的用户音量设置。
感谢AudioManager,通知声音很简单:
audioManager.setStreamMute(AudioManager.STREAM_NOTIFICATION, true);
然而,禁用通知的振动比预期的要困难。
AudioManager有一种不推荐使用的振动设置方法:
audioManager.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION, AudioManager.VIBRATE_SETTING_OFF)
然而,这似乎对我的Android 5.0设备没有影响,我找不到任何替代方案。 :(
我知道Lollipop已经介绍了"Priority Mode"周围的东西,但我不想摆弄模式。切换模式可能会产生一些其他副作用(基于用户优先级偏好)。
如何在Android 5.0 +上静音通知声音和振动?
答案 0 :(得分:0)
由于没有人想出解决方案,我将回答我自己的问题。
似乎没有办法实现我想要的,至少在最新的Android版本中。所以我最终做了以下丑陋的解决方法:
我现在通过RINGER_MODE_SILENT将整个手机(来电和通知)静音,但也通过BroadcastReceiver收听来电。一旦检测到来电,RingerMode就会恢复到之前的状态。这有效地实现了我想要实现的功能。
但是,我对这种解决方法非常不满意。