Comment puis-je basculer l'ensemble du son, des vibrations, de la connexion de données et du Wi-Fi à l'aide de CheckBoxPreference dans Android? Je veux avoir la possibilité de désactiver ces choses pendant qu'une activité est en cours dans mon application.Activer/désactiver le son, les vibrations et l'accès au téléphone à l'aide d'une CheckBoxPreference
Q
Activer/désactiver le son, les vibrations et l'accès au téléphone à l'aide d'une CheckBoxPreference
0
A
Répondre
0
Je l'ai compris.
En res/xml/preferences.xml
ajouter les 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" />
Dans votre MainActivity ajouter deux membres booléennes pour stocker l'état de case à cocher audio et wifi et un entier pour l'état de la sonnerie (Silencieux, Vibreur, son).
Si vous voulez son temporaire désactiver et wi-fi et de conserver l'état initial:
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);
}
Et puis pour restaurer les valeurs initiales:
if (mDisableSoundAndVibration){
AudioManager aManager=(AudioManager)getSystemService(AUDIO_SERVICE);
aManager.setRingerMode(mRingerMode);
}
if(mDisableWifi){
WifiManager wifiManager = (WifiManager)this.getSystemService(WIFI_SERVICE);
wifiManager.setWifiEnabled(mWifiMode);
}