Comment obtenir l'identifiant unique de l'appareil sous Android, qui ne peut être modifié lors d'une réinitialisation du téléphone ou d'une mise à jour du système d'exploitation ?
Réponses
Trop de publicités?Mise à jour : 19 -11-2019
La réponse ci-dessous n'est pas plus pertinente à l'heure actuelle.
Si vous cherchez des réponses, vous devriez consulter la documentation dont le lien figure ci-dessous.
https://developer.Android.com/training/articles/user-data-ids
Ancienne réponse - Non pertinent maintenant. Vous pouvez consulter ce blog dans le lien ci-dessous
http://Android-developers.blogspot.in/2011/03/identifying-app-installations.html
ANDROID_ID
import android.provider.Settings.Secure;
private String android_id = Secure.getString(getContext().getContentResolver(),
Secure.ANDROID_ID);
Ce qui précède est tiré du lien @ Existe-t-il un identifiant unique pour les appareils Android ?
Plus précisément, Settings.Secure.ANDROID_ID. Il s'agit d'une quantité de 64 bits qui est générée et stockée lors du premier démarrage de l'appareil. Il est réinitialisé lorsque le dispositif est effacé. .
ANDROID_ID semble être un bon choix pour un identifiant unique de l'appareil. . Il y a des inconvénients : Tout d'abord, il n'est pas fiable à 100% sur les versions d'Android antérieures à 2.2 ("Froyo"). En outre, il y a eu au moins un bogue largement observé dans un téléphone populaire d'un grand fabricant, où chaque instance a le même ANDROID_ID.
La solution ci-dessous n'est pas bonne parce que la valeur survit aux effacements de l'appareil ("réinitialisations d'usine") et vous pourriez donc commettre une grave erreur lorsqu'un de vos clients efface son appareil et le transmet à une autre personne. .
Vous obtenez le numéro imei de l'appareil en utilisant la procédure suivante
TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
telephonyManager.getDeviceId();
http://developer.Android.com/reference/Android/telephony/TelephonyManager.html#getDeviceId%28%29
Ajouter ce manifeste
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
Veuillez lire cet article officiel sur le blog des développeurs de Google : http://Android-developers.blogspot.be/2011/03/identifying-app-installations.html
Conclusion Pour la grande majorité des applications, l'exigence est la suivante d'identifier une installation particulière, et non un dispositif physique. Heureusement, cela est très facile à faire.
Il existe de nombreuses bonnes raisons d'éviter de tenter d'identifier une dispositif particulier. Pour ceux qui veulent essayer, la meilleure approche est probablement est probablement l'utilisation de ANDROID_ID sur tout ce qui est raisonnablement moderne, avec quelques heuristiques de repli pour les appareils anciens
.