4

ドキュメントによると、

getRingerMode() は、現在の着信音モード (RINGER_MODE_NORMAL、RINGER_MODE_SILENT、または RINGER_MODE_VIBRATE のいずれか) を返します。

でも、4つのモードがあるはずですよね?

サウンド ON、バイブレーション OFF:この設定であることをどのように確認できますか?
音ON、バイブON:RINGER_MODE_NORMAL
音OFF、バイブOFF:RINGER_MODE_SILENT
音OFF、バイブON:RINGER_MODE_VIBRATE

私を助けてください。ありがとうございました。

ここに画像の説明を入力

4

2 に答える 2

2

以下のように、呼び出し方法を RINGER_MODER_NORMAL (サウンドとバイブレーションをオン) に設定し、バイブレーション設定を VIBRATE_SETTING_OFF (バイブレーションを完全にオフにする) または VIBRATE_SETTING_ONLY_SILENT. (モードがサイレントの場合のみバイブレーションを行う) に個別に設定できます。

着信音の振動をオフにするには:

setVibrateSetting (AudioManager.VIBRATE_TYPE_RINGER,AudioManager.VIBRATE_SETTING_OFF)

通知のバイブレーションをオフにするには:

setVibrateSetting (AudioManager.VIBRATE_TYPE_NOTIFICATION,AudioManager.VIBRATE_SETTING_OFF)

更新:現在のオーディオ モードのステータスを取得するには

   if(getRingerMode ()==AudioManager.RINGER_MODE_NORMAL)
    {    if((getVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER))==AudioManager.AudioManager.VIBRATE_SETTING_OFF){    
        Log.d("Ringer Mode is":"ring with no vibraion")
        }
    else{
    Log.d("Ringer Mode is":"ring with vibraion")
    }

    else if(getRingerMode ()==AudioManager.RINGER_MODE_SILENT){

if((getVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER))==AudioManager.AudioManager.VIBRATE_SETTING_OFF){    
        Log.d("Ringer Mode is":"Silent with no vibraion")
        }
    else{
    Log.d("Ringer Mode is":"Silent with vibraion")
    }
    }
else{
 Log.d("Ringer Mode is":"Silent with vibraion")

}

ドキュメントでは、RINGER_MODE_SILENT モードが振動設定をオーバーライドすると言われています。

PS : DOC get/setVibrateSetting() によると、**メソッドは ** API レベル 16 で廃止されました。注: コードをテストしていません。

于 2015-03-11T09:45:32.783 に答える