How to get the unique device ID in Android which cannot
be changed when performing a phone reset or OS update?
Answer
Update: 19
-11-2019
The below answer is no
more relevant to present day.
So for any one
looking for answers you should look at the documentation linked
below
href="https://developer.android.com/training/articles/user-data-ids" rel="nofollow
noreferrer">https://developer.android.com/training/articles/user-data-ids
/>
Old Answer - Not
relevant now.
You check this blog in the link
below
href="http://android-developers.blogspot.in/2011/03/identifying-app-installations.html"
rel="nofollow
noreferrer">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);
The above is from the
link @ href="https://stackoverflow.com/questions/2785485/is-there-a-unique-android-device-id/2853253#2853253">Is
there a unique Android device ID?
More
specifically, Settings.Secure.ANDROID_ID. This is a 64-bit quantity that is generated
and stored when the device first boots. It is reset when the device is
wiped.
ANDROID_ID
seems a good choice for a unique device identifier. There are downsides:
First, it is not 100% reliable on releases of Android prior to 2.2 (“Froyo”). Also,
there has been at least one widely-observed bug in a popular handset from a major
manufacturer, where every instance has the same
ANDROID_ID.
The below solution is not
a good one coz the value survives device wipes (“Factory resets”) and thus
you could end up making a nasty mistake when one of your customers wipes their device
and passes it on to another
person.
You get the imei number
of the device using the below
TelephonyManager telephonyManager =
(TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
telephonyManager.getDeviceId();
href="http://developer.android.com/reference/android/telephony/TelephonyManager.html#getDeviceId%28%29"
rel="nofollow
noreferrer">http://developer.android.com/reference/android/telephony/TelephonyManager.html#getDeviceId%28%29
Add
this is
manifest
android:name="android.permission.READ_PHONE_STATE"/>
No comments:
Post a Comment