消除通知中的振动

时间:2013-10-15 22:12:36

标签: android android-notifications android-audiomanager vibrate

我想禁用通知的振动,但我无法使其正常工作。我希望听到通知声音,但手机不应该振动。这是我的代码:

audioManager.setStreamVolume(AudioManager.STREAM_NOTIFICATION, 2, 0);
audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
audioManager.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_OFF);
audioManager.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION, AudioManager.VIBRATE_SETTING_OFF);

但是当我收到使用默认声音设置的消息或其他通知时,手机会振动。有人能告诉我如何实现我的目标吗?

3 个答案:

答案 0 :(得分:0)

我认为他们没有停止,因为你在通知代码中使用"setDefaults(Notification.DEFAULT_ALL)"所以如果你需要停止振动和声音删除这一行,或者如果你需要使用默认声音并停止振动我认为你必须使用setDefaults(Notification.DEFAULT_SOUND)等...

答案 1 :(得分:-1)

我认为,您不应该直接使用AudioManager。相反,请使用Notification APIs

if (isVibrationEnabled) {
    notification.defaults |= Notification.DEFAULT_VIBRATE;
}

答案 2 :(得分:-1)

您必须从Notification api中删除振动代码:

    notification.defaults |= Notification.DEFAULT_VIBRATE;