天天看點

android 監聽情景模式的變化,Android 情景模式的設定代碼

情景模式的設定大家應當相當熟悉了,但是在Android中如何通過自己的程式進行情景模式的設定呢,情景模式分為多種多種,即可以使用系統自帶的,也可以使用自定義的,但是在開發某些程式時,可能需要在程式中更改情景模式,那麼此就需要進行情景模式的設定。下面簡單介紹一下情況模式的設定方式:

首先擷取目前的情景模式:

代碼

void getInitring(AudioManager audio)

{

//取得手機的初始音量,并初始化進度條

int volume=audio.getStreamVolume(AudioManager.STREAM_RING);  //取得初始音量

//取得初始模式,并分别設定圖示

int mode=audio.getRingerMode();  //取得初始模式

}

通過此代碼,當然需要再加工一下,那麼就可以得到目前的情景模式,為以後的設定做一下準備,然後也可能知道要不要再次設定。

設定情景模式一:隻聲音,無振動:

代碼

void ring(AudioManager audio) {

audio.setRingerMode(AudioManager.RINGER_MODE_NORMAL);

audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER,

AudioManager.VIBRATE_SETTING_OFF);

audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION,

AudioManager.VIBRATE_SETTING_OFF);

Toast.makeText(this, "設定成功!目前為鈴聲", Toast.LENGTH_LONG).show();

}

設定後系統隻有聲音,沒有振動。

設定情景模式二:即有聲音也有振動:

代碼

void ringAndVibrate(AudioManager audio) {

audio.setRingerMode(AudioManager.RINGER_MODE_NORMAL);

audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER,

AudioManager.VIBRATE_SETTING_ON);

audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION,

AudioManager.VIBRATE_SETTING_ON);

Toast.makeText(this, "設定成功!目前為鈴聲加振動", Toast.LENGTH_LONG).show();

}

這樣設定後,在發聲的時候同時也會有振動提醒。

設定情景模式三:隻能振動:

代碼

void vibrate(AudioManager audio) {

audio.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);

audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER,

AudioManager.VIBRATE_SETTING_ON);

audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION,

AudioManager.VIBRATE_SETTING_ON);

Toast.makeText(this, "設定成功!目前為振動", Toast.LENGTH_LONG).show();

}

此設定後隻有振動,沒有聲音:

設定情景模式四:無聲無振動:

代碼

void noRingAndVibrate(AudioManager audio) {

audio.setRingerMode(AudioManager.RINGER_MODE_SILENT);

audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_RINGER,

AudioManager.VIBRATE_SETTING_OFF);

audio.setVibrateSetting(AudioManager.VIBRATE_TYPE_NOTIFICATION,

AudioManager.VIBRATE_SETTING_OFF);

Toast.makeText(this, "設定成功!目前為無聲無振動", Toast.LENGTH_LONG).show();

}

設定後系統沒有聲音和振動。無法進行相應的提示。

以上所有設定的聲音均為系統預設的聲音大小,那麼我們是否可以自定義聲音的大小呢,答案是當然可以。要設定聲音的大小 ,需要設定以下函數:

提高音量:

audio.adjustVolume(AudioManager.ADJUST_RAISE, 0);

減小音量:

audio.adjustVolume(AudioManager.ADJUST_LOWER, 0);

以上為最基本的設定方法,在使用中有許多更複雜的組合都是由此基本的方法組合而成的。