Android 情景模式的設(shè)置代碼
首先獲取當(dāng)前的情景模式:
代碼
void getInitring(AudioManager audio)
{
//取得手機(jī)的初始音量,并初始化進(jìn)度條
int volume=audio.getStreamVolume(AudioManager.STREAM_RING); //取得初始音量
//取得初始模式,并分別設(shè)置圖標(biāo)
int mode=audio.getRingerMode(); //取得初始模式
}
通過(guò)此代碼,當(dāng)然需要再加工一下,那么就可以得到當(dāng)前的情景模式,為以后的設(shè)置做一下準(zhǔn)備,然后也可能知道要不要再次設(shè)置。
設(shè)置情景模式一:只聲音,無(wú)振動(dòng):
代碼
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, "設(shè)置成功!當(dāng)前為鈴聲", Toast.LENGTH_LONG).show();
}
設(shè)置后系統(tǒng)只有聲音,沒(méi)有振動(dòng)。
設(shè)置情景模式二:即有聲音也有振動(dòng):
代碼
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, "設(shè)置成功!當(dāng)前為鈴聲加振動(dòng)", Toast.LENGTH_LONG).show();
}
這樣設(shè)置后,在發(fā)聲的時(shí)候同時(shí)也會(huì)有振動(dòng)提醒。
設(shè)置情景模式三:只能振動(dòng):
代碼
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, "設(shè)置成功!當(dāng)前為振動(dòng)", Toast.LENGTH_LONG).show();
}
此設(shè)置后只有振動(dòng),沒(méi)有聲音:
設(shè)置情景模式四:無(wú)聲無(wú)振動(dòng):
代碼
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, "設(shè)置成功!當(dāng)前為無(wú)聲無(wú)振動(dòng)", Toast.LENGTH_LONG).show();
}
設(shè)置后系統(tǒng)沒(méi)有聲音和振動(dòng)。無(wú)法進(jìn)行相應(yīng)的提示。
以上所有設(shè)置的聲音均為系統(tǒng)默認(rèn)的聲音大小,那么我們是否可以自定義聲音的大小呢,答案是當(dāng)然可以。要設(shè)置聲音的大小 ,需要設(shè)置以下函數(shù):
提高音量:
audio.adjustVolume(AudioManager.ADJUST_RAISE, 0);
減小音量:
audio.adjustVolume(AudioManager.ADJUST_LOWER, 0);
以上為最基本的設(shè)置方法,在使用中有許多更復(fù)雜的組合都是由此基本的方法組合而成的。
- Android主題切換之探究白天和夜間模式
- AndroidSDK Support自帶夜間、日間模式切換詳解
- Android夜間模式最佳實(shí)踐
- android基礎(chǔ)教程之夜間模式實(shí)現(xiàn)示例
- javascript判斷iphone/android手機(jī)橫豎屏模式的函數(shù)
- Android 聽筒模式的具體實(shí)現(xiàn)實(shí)例
- android 如何判斷當(dāng)前是否為飛行模式
- Android開發(fā)之文件操作模式深入理解
- Android 如何定制vibrator的各種震動(dòng)模式M 具體方法
- 三行Android代碼實(shí)現(xiàn)白天夜間模式流暢切換
相關(guān)文章
Kotlin淺析延遲初始化與密封類的實(shí)現(xiàn)方法
Kotlin語(yǔ)言的許多特性,包括變量不可變,變量不可為空,等等。這些特性都是為了盡可能地保證程序安全而設(shè)計(jì)的,但是有些時(shí)候這些特性也會(huì)在編碼時(shí)給我們帶來(lái)不少的麻煩,下面我們來(lái)了解延遲初始化和密封類的特點(diǎn)2022-08-08Android MarkTipsView文字標(biāo)識(shí)控件使用方法
這篇文章主要為大家詳細(xì)介紹了Android MarkTipsView文字標(biāo)識(shí)控件的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04android中實(shí)現(xiàn)OkHttp下載文件并帶進(jìn)度條
本篇文章主要介紹了android中實(shí)現(xiàn)OkHttp下載文件并帶進(jìn)度條,OkHttp是比較火的網(wǎng)絡(luò)框架,它支持同步與異步請(qǐng)求,支持緩存,可以攔截,更方便下載大文件與上傳文件的操作,有興趣的可以了解一下2017-07-07Android計(jì)算器簡(jiǎn)單邏輯實(shí)現(xiàn)實(shí)例分享
這篇文章主要介紹了Android計(jì)算器簡(jiǎn)單邏輯實(shí)現(xiàn)實(shí)例,有需要的朋友可以參考一下2014-01-01Android實(shí)現(xiàn)手勢(shì)滑動(dòng)多點(diǎn)觸摸縮放平移圖片效果(二)
這篇文章主要介紹了Android實(shí)現(xiàn)手勢(shì)滑動(dòng)多點(diǎn)觸摸縮放平移圖片效果,實(shí)現(xiàn)圖片支持多點(diǎn)觸控,自由的進(jìn)行縮放、平移的注意事項(xiàng),感興趣的小伙伴們可以參考一下2016-02-02Android中Progress的簡(jiǎn)單實(shí)例
這篇文章主要介紹了Android中Progress的簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-05-05Android自定義View之RadioGroup實(shí)現(xiàn)跨多行顯示
這篇文章主要介紹了Android自定義View之RadioGroup實(shí)現(xiàn)跨多行顯示,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11Android10開發(fā)者常見問(wèn)題(小結(jié))
這篇文章主要介紹了Android10開發(fā)者常見問(wèn)題(小結(jié)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11