1

また、デバイスを無音にするのでAudioManager.RINGER_MODE_VIBRATE、バイブレーションをオンにして現在の音量レベルを維持するにはどうすればよいですか(たとえば、着信がある場合、電話が振動して着信音が鳴ります)。

ありがとう!

4

2 に答える 2

1

私が考えることができる最も簡単な方法は、以下を使用することです。

setVibrateSetting(AudioManagerVIBRATE_TYPE_RINGER, AudioManager.VIBRATE_SETTING_ON);

このメソッドはAPI16で非推奨になりましたが、自分のアプリ以外のバイブレーション設定を変更したい場合は、このメソッドの適切な代替手段がわかりません。

呼び出し音モードもオンになっていることを確認してくださいAudioManager.RINGER_MODE_NORMAL


もちろん、呼び出し音モードをにAudioManager.RINGER_MODE_NORMAL設定し、設定ページを表示して、ユーザーがバイブレーション設定を手動で変更することもできます。

于 2013-03-16T20:41:10.200 に答える
0

このコードを確認し、

// 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);の直後に呼び出さないでください。

于 2013-03-16T20:12:26.613 に答える