Informations sur le téléphone

 

 

Pour récupérer des informations concernant le téléphone de d'un appareil, vous utiliserez le service TelephonyManager.

Ce service va permettre de déterminer l'état d'utilisation du téléphone, le type de connexion réseau, ...

Pour commencer, vous allez demander une instance du service de téléphonie en utilisant !

Context.getSystemService(TELEPHONY_SERVICE)

Ce qui donne au final:

TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);

Là encore, vous n'allez pas lister l'ensemble des informations que récupérerable, mais juste l'essentiel pour le commun des mortels.

 

Type du téléphone

La méthode getPhoneType() retourne le type du téléphone: Rien, GSM ou CDMA.

TelephonyManager.PHONE_TYPE_NONE
TelephonyManager.PHONE_TYPE_GSM
TelephonyManager.PHONE_TYPE_CDMA

 

IMEI/MEID

Quelques définitions:

IMEI: International Mobile Equipement Identify, code unique sur 15 chiffres utilisé par les GSM ou UMTS (14 chiffres utiles et 1 de contrôle). Ce code permet de connaître le type d'appareil, de bloquer l'appareil en cas de vol, et surtout d'autoriser ou non l'appareil à utiliser les services qu'il propose suivant votre abonnement...

Ce code peut être déterminé en composant le *#06#

MEID est lui utilisé par les CDMA.

 

(Pour plus de détail: http://fr.wikipedia.org/wiki/International_Mobile_Equipment_Identity)

 

Pour récupérer l'IMEI (GSM) ou MEID (CDMA) de l'appareil, vous utiliserez la méthode getDeviceId().

Il sera nécessaire d'avoir la permissions suivantes: READ_PHONE_STATE.

String deviceid = tm.getDeviceId();

 

Numéro de téléphone

Quelques définitions:

MSISDN : Mobile Station ISDN Number, ou plus simplement le n° de téléphone !

(Voir http://fr.wikipedia.org/wiki/Mobile_Station_ISDN_Number)

 

Vous utiliserez la méthode getLine1Number() pour obtenir le n° de téléphone.

Là encore, il sera nécessaire d'avoir la permissions suivantes: READ_PHONE_STATE.

 

Image non trouvée ! A partir d'Android Version 2.0.

 

Informations opérateur

La méthode getNetworkOperatorName() retourne le nom de l'opérateur tel que enregistré sur le réseau.

La méthode getNetworkOperator() retourne le code de l'opérateur (MCC + MNC)

Enfin, la méthode getNetworkCountryIso() retourne le code pays de l'opérateur

Image non trouvée !Informations valables uniquement pour un GSM.

String operatorname = tm.getNetworkOperatorName();
String operatorcode = tm.getNetworkOperator();
String operatoriso = tm.getNetworkCountryIso();

 

Informations sur la carte SIM

Sur le même principe que pour l'opérateur, vous allez récupérer les informations de la carte SIM:

getSimOperatorName() retourne le nom de l'opérateur.

getSimOperator() retourne le code SIM MNC + MCC

Petit plus avec getSimSerialNumber() qui retourne le n° de série de la SIM Serial Number.

Là encore, il sera nécessaire d'avoir la permissions suivantes: READ_PHONE_STATE.

 

String simoperator = tm.getSimOperatorName();
String simoperatorcode = tm.getSimOperator();
String simcountrycode = tm.getSimCountryIso();
String simserialno = tm.getSimSerialNumber();

 

Type de réseau

Vous utiliserez getNetworkType() pour connaître le type de connexion réseau utilisée sur le portable.

TelephonyManager.NETWORK_TYPE_UNKNOWN
TelephonyManager.NETWORK_TYPE_GPRS
TelephonyManager.NETWORK_TYPE_EDGE
TelephonyManager.NETWORK_TYPE_UMTS

 

Cell Location

Tout d'abord quelques définitions:

cellid: identifiant de la cellule

lac: Local Area Code

Pour récupérer les informations de la cellule en cours d'utilisation avec l'appareil, vous devez définir une des permissions suivantes:

ACCESS_COARSE_LOCATION ou ACCESS_FINE_LOCATION

GsmCellLocation loc = (GsmCellLocation) tm.getCellLocation();

int cellid = loc.getCid();
int lac = loc.getLac();

Ces informations pourront être utiles pour localiser l'appareil via GSM.

 

Exemple

Voici un exemple affichant différentes informations sur le téléphone dans un TextView

Un fichier main.xml pour avoir notre TextView

Et le fichier AndroidManifest pour avoir l'autorisation de lire les informations sur le téléphone