Як отримати унікальний ідентифікатор пристрою (Device Id) в Android

жовтня
14
2012
Мітки: android deviceid java

Унікальний ідентифікатор пристрою - дуже корисна властивість, особливо при роботі з клієнтами за допомогою локальної мережі або Інтернету. У цій статті розказано, як отримати Device Id на платформі Android.

Для отримання унікального ідентифікатора пристрою, скористайтеся класом TelephonyManager:


TelephonyManager telephonyManager = (TelephonyManager) activity.getSystemService(Context.TELEPHONY_SERVICE);
String deviceId = telephonyManager.getDeviceId();

Також Вам знадобиться додати дозвіл READ_PHONE_STATE в файл AndroidManifest.xml:


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

Зверніть увагу, що не на всіх пристроях метод getDeviceId() повертає значення, відмінне від порожнього рядка. Тому, рекомендується використовувати наступний метод генерації ідентифікатора пристрою:


    final TelephonyManager tm = (TelephonyManager) getBaseContext().getSystemService(Context.TELEPHONY_SERVICE);

    final String tmDevice, tmSerial, androidId;
    tmDevice = "" + tm.getDeviceId();
    tmSerial = "" + tm.getSimSerialNumber();
    androidId = "" + android.provider.Settings.Secure.getString(getContentResolver(), android.provider.Settings.Secure.ANDROID_ID);

    UUID deviceUuid = new UUID(androidId.hashCode(), ((long)tmDevice.hashCode() << 32) | tmSerial.hashCode());
    String deviceId = deviceUuid.toString();





  

Напишіть перше повідомлення!

Ви повинні увійти під своїм аккаунтом щоб залишати коментарі