如何在Android 5.0 +中为所有通知静音和振动?

时间:2015-07-05 22:28:26

标签: android android-5.0-lollipop android-audiomanager

我想禁用所有传入通知的声音和振动。我不介意电话呼叫振动也会被关闭。但不应触及用户电话的用户音量设置。

感谢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 +上静音通知声音和振动?

1 个答案:

答案 0 :(得分:0)

由于没有人想出解决方案,我将回答我自己的问题。

似乎没有办法实现我想要的,至少在最新的Android版本中。所以我最终做了以下丑陋的解决方法:

我现在通过RINGER_MODE_SILENT将整个手机(来电和通知)静音,但也通过BroadcastReceiver收听来电。一旦检测到来电,RingerMode就会恢复到之前的状态。这有效地实现了我想要实现的功能。

但是,我对这种解决方法非常不满意。