Identificador único para el teléfono Android

Estoy construyendo la aplicación de Android que necesita identificar el dispositivo por algún número único / cadena.

He oído hablar de ANDROID_ID, pero también hay informes de que puede ser el mismo en algunos modelos de teléfono o incluso en actualizaciones. Otra cosa es que se vuelve a crear después de restablecer la fábrica o reinstalar el sistema. Puedo vivir con eso, aunque preferiría que se mantuviera igual.

¿Hay otra manera de identificar el teléfono sin pedir más permisos? IMEI los requiere (android.permission.READ_PHONE_STATE) pero puede asustar a los usuarios.

¿Cómo Shazam hace eso? Sé que identifica el teléfono permanentemente (recuerda que yo era un usuario antes de que introdujera 5 etiquetas un mes de restricción para los nuevos usuarios), aunque he reinstalado completamente el sistema.

Esta pregunta stackoverflow debe responder a la suya.

¿Por qué no crear un GUID en un archivo en una ubicación bien conocida y tiene que ser su identificador único? De esta manera usted tiene control total y sin necesidad de permisos elevados (excepto el acceso al sistema de archivos).

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.