web-dev-qa-db-fra.com

Comment identifier un appareil Android par programme?

Actuellement, j'utilise l'adresse MAC comme identifiant pour un appareil Android.

WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo wInfo = wifiManager.getConnectionInfo();
String mac = wInfo.getMacAddress();

Cependant, j'ai trouvé que le mac est vide pour les appareils de certains utilisateurs. Je suis un peu confus pourquoi il pourrait être vide.

Si vous pouviez comprendre la raison, c'est la meilleure!

Sinon, pourriez-vous fournir une alternative pour identifier un appareil Android?

17
JackWM

Votre meilleur pari pour trouver quelque chose d'unique à propos de l'appareil Android serait d'accéder à son numéro de série. Il existe plusieurs autres articles sur la façon de le faire, mais le plus consulté est ici:

Comment trouver le numéro de série de Android appareil?

7
Phil

Vous pouvez identifier n'importe quel Android mobile uniquement sur la base de imei.

TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
telephonyManager.getDeviceId();

Ajoutez l'autorisation dans votre AndroidManifest.xml:

<uses-permission Android:name="Android.permission.READ_PHONE_STATE"/>

Dans l'émulateur, vous obtiendrez probablement une valeur semblable à 0000 .... Vérifiez-le sur l'appareil pour obtenir l'ID de l'appareil.

12
Ajay S