また、デバイスを無音にするのでAudioManager.RINGER_MODE_VIBRATE
、バイブレーションをオンにして現在の音量レベルを維持するにはどうすればよいですか(たとえば、着信がある場合、電話が振動して着信音が鳴ります)。
ありがとう!
また、デバイスを無音にするのでAudioManager.RINGER_MODE_VIBRATE
、バイブレーションをオンにして現在の音量レベルを維持するにはどうすればよいですか(たとえば、着信がある場合、電話が振動して着信音が鳴ります)。
ありがとう!
私が考えることができる最も簡単な方法は、以下を使用することです。
setVibrateSetting(AudioManagerVIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_ON);
このメソッドはAPI16で非推奨になりましたが、自分のアプリ以外のバイブレーション設定を変更したい場合は、このメソッドの適切な代替手段がわかりません。
呼び出し音モードもオンになっていることを確認してくださいAudioManager.RINGER_MODE_NORMAL
。
もちろん、呼び出し音モードをにAudioManager.RINGER_MODE_NORMAL
設定し、設定ページを表示して、ユーザーがバイブレーション設定を手動で変更することもできます。
このコードを確認し、
// Get instance of Vibrator from current Context
Vibrator vb = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
// Start immediately
// Vibrate for 200 milliseconds
// Sleep for 500 milliseconds
long[] pattern = { 0, 200, -1 };
// The "0" means to repeat the pattern starting at the beginning
// CUIDADO: If you start at the wrong index (e.g., 1) then your
// pattern
// will be off --
// You will vibrate for your pause times and pause for your vibrate
// times !
vb.vibrate(pattern, 0);
停止するには、
vb.cancel();
注:vb.cancel()は、vb.vibrate(pattern、0);の直後に呼び出さないでください。