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é

Image non trouvée !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