Why does AudioManager.getRingerMode () return only 3 modes?

In accordance with ,

getRingerMode () returns the current ringtone mode, one of RINGER_MODE_NORMAL, RINGER_MODE_SILENT or RINGER_MODE_VIBRATE.

But there must be 4 modes, right?

Sound On, Vibrate OFF: How can I know if this option is set?
Sound ON, Vibrate ON: RINGER_MODE_NORMAL
Sound OFF, Vibration off: RINGER_MODE_SILENT
Sound OFF, Vibration ON: RINGER_MODE_VIBRATE

Please help me. Thank.

enter image description here

+4
source share
2 answers

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)

UPDATE:

   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")

}

Docs , RINGER_MODE_SILENT .

PS: DOC get/setVibrateSetting() ** ** API 16. . .

+2
if (Settings.System.getInt(context.getContentResolver(), "vibrate_when_ringing", 0) == 1)
{    
    return true;
}
else if (Settings.System.getInt(context.getContentResolver(), "vibrate_when_ringing", 0) == 0)
{
    return false;
}

,

0

All Articles