Удалить вибрацию из уведомлений

Я хочу отключить вибрации для уведомлений, но я не могу заставить его работать. Я хочу, чтобы звук уведомления был слышен, но телефон не должен вибрировать. Вот мой код:

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;
}
Другие вопросы по тегам