2010-09-09 6 views
2

Existe-t-il un ID unique donné aux handiests Android disponible via le SDK?Identifier de manière unique un téléphone Android

Je souhaite fournir un service Web avec des actions qui ne peuvent être effectuées qu'une seule fois par ressource et par utilisateur. Peut-être y a-t-il une façon différente d'y arriver. Des idées?

Répondre

6

Utilisez le téléphone IMEI comme décrit ici: http://www.androidsoftwaredeveloper.com/2009/04/02/how-to-get-the-phone-imei/

String imei = TelephonyManager.getDefault().getDeviceId(); 
if (TextUtils.isEmpty(imei)) { 
    return ""; 
} 

Vous devez obtenir la permission de l'état de téléphone de lecture pour accéder à ces données. Vous devez donc ajouter

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

à votre fichier manifeste.

+0

Parfait! Exactement ce que je cherchais. Parfois, le terme de recherche m'échappe ... –

+2

Sachez que cette autorisation sera montrée à l'utilisateur lors de l'installation et que les utilisateurs soucieux de la vie privée peuvent baisser votre application pour demander l'accès pour l'imei. L'imei est un type qui normalement ne devrait pas être accédé et transmis à un serveur légèrement. Peut-être utiliser un hachage de l'imei ou quelque chose au lieu de le sauver d'un autre endroit. Regardez ce blog sur la vie privée et les données, etc.: http://android-developers.blogspot.com/2010/08/best-practices-for-handling-android.html – Janusz

+0

Cool. Merci!!! –

2

Utilisez l'IMEI pour identifier les combinés. C'est l'une des sources les plus fiables.

TelephonyManager.getDefault().getDeviceId(); 
+0

Est-ce que cela retournera le MEID sur CDMA? –

+1

Je ne l'ai pas essayé sur CDMA, essayez-le. Peut être MEID. –

Questions connexes