Mode Avion ou mode hors-ligne
Rappel sur le mode avion ou hors-ligne
Pour savoir si le mode avion est actif ou non dans vos applications, vous pouvez utiliser:
Settings.System.getInt()
int androidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...).provider.Settings.System.getInt(ContentResolver cr, String name, int def)
ou
Settings.Global.getInt() à partir de l'API 17
int androidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...).provider.Settings.Global.getInt(ContentResolver cr, String name, int def)
Ces fonctions permettent de retourner la valeur d'une clef sous forme d'entier (alors qu'elle est de type String initialement).
avec
cr, un ContentResolver
name, le nom de la clef recherchée
def, une valeur par défaut si name n'est pas trouvé
L'utilisation
de l'annotation @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
et @SuppressWarnings("deprecation") pourront être intéressantes
si vous envisagez de coder votre application pour des versions API AndroidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...) <
17
La valeur qui va nous intéresser sera:
androidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...).provider.Settings.Global.AIRPLANE_MODE_ON
Il sera aussi possible d'être informé de la modification via un broadcast receiver:
Dans ce cas, le filtre à positionner sera:
<intent-filter>
<action androidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...):name="android.intent.action.AIRPLANE_MODE"/>
</intent-filter>
D'où l'exemple de code:
Et enfin le fichier ManifestAndroid.xml comprenant l'activité et le receiver