Wednesday, 18 October 2017

How to get unique device hardware id in Android?






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

php - file_get_contents shows unexpected output while reading a file

I want to output an inline jpg image as a base64 encoded string, however when I do this : $contents = file_get_contents($filename); print ...