2010-09-09 2 views
2

Есть ли уникальный идентификатор, который предоставляется Android-порталам, доступным через SDK?Уникальный идентификатор телефона Android

Я хочу предоставить веб-службу действия, которые могут выполняться только один раз для каждого пользователя. Может быть, есть и другой способ. Есть идеи?

ответ

6

Используйте телефон IMEI, как описано здесь: http://www.androidsoftwaredeveloper.com/2009/04/02/how-to-get-the-phone-imei/

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

Вам нужен телефон государственного разрешения на чтение, чтобы получить доступ к этим данным. Поэтому вы должны добавить

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

в ваш файл манифеста.

+0

Отлично! Именно то, что я искал. Иногда поисковый запрос ускользает от меня ... –

+2

Имейте в виду, что это разрешение будет отображаться пользователю во время установки, и эта конфиденциальность, о которой идет речь, может снизить ваше приложение для запроса доступа для imei. Imei - это тип, который обычно не должен быть доступен и передаваться на сервер. Возможно, используйте хэш imei или что-то вместо того, чтобы сохранить его где-то в другом месте. Посмотрите на это сообщение в блоге о конфиденциальности и данных и т. Д .: http://android-developers.blogspot.com/2010/08/best-practices-for-handling-android.html – Janusz

+0

Прохладный. Благодаря!!! –

2

Используйте IMEI для идентификации телефонов. Это один из самых надежных источников.

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

Будет ли это возвращать MEID на CDMA? –

+1

Я не пробовал это на CDMA, просто попробуйте. Может быть MEID. –

Смежные вопросы