0
如何使用Android中的CheckBoxPreference切換整個系統聲音,振動,數據連接和WiFi? 我想在應用程序中運行活動時禁用這些功能。使用CheckBoxPreference切換手機聲音,振動和互聯網訪問開/關
如何使用Android中的CheckBoxPreference切換整個系統聲音,振動,數據連接和WiFi? 我想在應用程序中運行活動時禁用這些功能。使用CheckBoxPreference切換手機聲音,振動和互聯網訪問開/關
我想通了。
在res/xml/preferences.xml
添加CheckBoxPreferences:
<CheckBoxPreference
android:defaultValue="false"
android:key="pref_disableSoundAndVibration"
android:title="Disable sound and vibration" />
<CheckBoxPreference
android:defaultValue="false"
android:key="pref_disableWifi"
android:title="Disable Wi-Fi" />
在您的MainActivity添加兩個布爾成員存儲音頻和wifi複選框狀態和振鈴狀態(靜音,振動,聲)一個整數。
如果你想暫時禁用聲音和Wi-Fi,並保留初始狀態:
if (mDisableSoundAndVibration){
AudioManager aManager=(AudioManager)getSystemService(AUDIO_SERVICE);
aManager.setRingerMode(aManager.RINGER_MODE_SILENT);
}
if (mDisableWifi){
WifiManager wifiManager = (WifiManager)this.getSystemService(this.WIFI_SERVICE);
wifiManager.setWifiEnabled(false);
}
然後恢復初始值:
if (mDisableSoundAndVibration){
AudioManager aManager=(AudioManager)getSystemService(AUDIO_SERVICE);
aManager.setRingerMode(mRingerMode);
}
if(mDisableWifi){
WifiManager wifiManager = (WifiManager)this.getSystemService(WIFI_SERVICE);
wifiManager.setWifiEnabled(mWifiMode);
}