7

When developing an app that requires me to uniquely identify phone users. I was hoping for some advice on whether it is best to use a phone's UDID or IMEI. Are there any advantages/disadvantages to using either. All comments would be greatly appreciated

user2363025
  • 5,389
  • 15
  • 41
  • 86
  • May this helps : http://stackoverflow.com/questions/16645782/where-and-when-is-generated-android-build-serial-in-aosp/16646971#16646971 – Alexis C. Jun 10 '13 at 13:10

2 Answers2

9

Pros of ANDROID_ID:

  1. Settings.Secure.ANDROID_ID. This is a 64-bit quantity that is generated and stored when the device first boots (ANDROID_ID is not unique for android 2.2 and from 4.2)

Cons of ANDROID_ID:

  1. ANDROID_ID can change on factory reset.

  2. ANDROID_ID can be null

  3. It can be easily changed on a rooted phone

  4. Several devices by several manufacturers are affected by the ANDROID_ID bug in 2.2 and all of them have the same ANDROID_ID, which is 9774d56d682e549c. Which is also the same device id reported by the emulator

    Docs: http://android-developers.blogspot.in/2011/03/identifying-app-installations.html

  5. ANDROID_ID no longer uniquely identifies a device: https://stackoverflow.com/a/13465373/150016

Pros of IMEI

  1. IMEI number is always unique.

Cons of IMEI

  1. Many device don't have IMEI number i.e Samsung galaxy tab 2

Important Links

Community
  • 1
  • 1
Ronak Mehta
  • 5,882
  • 5
  • 40
  • 67
0

If you want to identify a device you should try UUID

http://developer.android.com/reference/java/util/UUID.html

or maybe try your own identifier. I used a MD5 over the IDs and the MAC-Address, combined with the devices System-Nano-Time. It realy would be a big coincident if two devices have the same "unique ID".

pbertsch
  • 310
  • 2
  • 11