Я пытаюсь создать приложение, которое автоматически отключит режим звонка с помощью AlarmManager. Он работает, но не работает, как ожидалось.
@Override
public void onReceive(Context context, Intent intent) {
AudioManager audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
}
На основе документации Android:
RINGER_MODE_SILENT - Режим звонка, который будет тихим и не будет
вибрировать. (Это отменяет настройку вибрации.)
Но я обнаружил, что мой телефон все еще вибрирует. Просто включите функцию «Не беспокоить» и измените режим звонка на вибрацию. Я попытался установить для него RINGER_MODE_NORMAL и RINGER_MODE_VIBRATE, и оно работает, но не с RINGER_MODE_SILENT. Я уже предоставляю своему приложению доступ к «Не беспокоить» и использую следующие разрешения:
<uses-permission android:name="android.permission.ACCESS_NOTIFICATION_POLICY" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
Есть ли неправильные или отсутствующие шаги?