Android: Obtener número de teléfono
1 agosto 2013
2 comentarios
Android, Java, Teléfono, Whatsapp.
[bs_notification type=»warning» dismissible=»false»]Desde hace unas cuantas versiones, Whatsapp ya no sirve para esto.[/bs_notification]
Por motivos que no conozco (intuyo que por seguridad, y no me parece mal), no es posible saber el número de teléfono del usuario utilizando el SDK de Android. He oído que en algunas versiones, con algunos operadores de red o en algunos países sí, pero es una combinación extraña con la que no se puede contar. Hay otro recurso más fiable, aunque tampoco lo sea al 100%, pero es importante tenerlo en cuenta ya que para muchas situaciones sería suficiente.
Forma fiable al 100%, no existe. Hay que ser consciente de eso. Si fuera posible, el mismo Whatsapp no necesitaría que el usuario introduzca y confirme el número. Y precisamente con Whatsapp tiene que ver este pequeño truco.
Se trata de acceder a la lista de cuentas del usuario. Con la clase Account Manager se puede hacer. Si el usuario tiene Whatsapp instalado aparecerá ahí y podremos obtener el nombre de usuario, que és precisamente el número de teléfono, con prefijo uncluído.
En el AndroidManifest.xml
:
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
El método:
AccountManager am = AccountManager.get(this); Account[] accounts = am.getAccounts(); ArrayList googleAccounts = new ArrayList(); for (Account ac : accounts) { String acname = ac.name; String actype = ac.type; System.out.println("Accounts : " + acname + ", " + actype); if(actype.equals("com.whatsapp")){ String phoneNumber = ac.name; } }
La idea no es mía, es de un usuario que respondió a la pregunta en Stackoverflow.
Para cualquier situación que necesite tener el número con mayor fiabilidad, será necesario preparar un sistema donde el usuario indique manualmente el número de teléfono y se verifique a través de algún método que implique a la propia tarjeta SIM, como un SMS con un código de verificación.
Comentarios (2)
Latimosamente no funciona, me trae la palabra WhatsApp. No el número Telefónico.
El post es de hace más de 3 años y hace ya tiempo que no funciona, por eso puse la alerta al inicio del articulo.