Удалить вибрацию из уведомлений
Я хочу отключить вибрации для уведомлений, но я не могу заставить его работать. Я хочу, чтобы звук уведомления был слышен, но телефон не должен вибрировать. Вот мой код:
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 ответа
Я думаю, что они не остановить, потому что вы используете "setDefaults(Notification.DEFAULT_ALL)"
в коде уведомления, так что если вам нужно остановить вибрацию и звук, удалите эту строку, или если вам нужно использовать звук по умолчанию и остановить вибрацию, я думаю, вы должны использовать setDefaults(Notification.DEFAULT_SOUND)
так далее...
Вам нужно будет удалить форму вибрационного кода Notification api:
notification.defaults |= Notification.DEFAULT_VIBRATE;
Я думаю, вы не должны использовать напрямую AudioManager
, Вместо этого используйте Notification
API:
if (isVibrationEnabled) {
notification.defaults |= Notification.DEFAULT_VIBRATE;
}