я создал BroadcastReceiver, который прослушивает изменения в PHONE_STATE.в методе onReceive я хотел бы отключить системный вибратор.я пробовал разные подходы, но ни один из них не сработал.
AudioManager audioManager = (AudioManager)ctx.getSystemService(Context.AUDIO_SERVICE);
systemVibration = audioManager.getVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER);
audioManager.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_OFF);
или
Vibrator vib = (Vibrator)ctx.getSystemService(Context.VIBRATOR_SERVICE);
vib.cancel();
или
System.putInt(ctx.getContentResolver(), System.VIBRATE_ON, 0);
или все вместе.
первый подход с AudioManager действительно изменяет настройки системы для вибрации, но это не влияет на текущую.
есть идеи?
Симон