Obtener phonenumber por programación – Android

Es posible obtener el número de teléfono de cada dispositivo mediante programación? He probado este código:

TelephonyManager manager =(TelephonyManager)mAppContext.getSystemService(Context.TELEPHONY_SERVICE); mPhoneNumber = manager.getLine1Number(); 

Esto funciona bien con algunos proveedores. Desafortunadamente no funciona con cada proveedor. Así que estoy buscando un truco o trabajo alrededor para obtener el número de teléfono del dispositivo. ¿Hay una solución o es imposible porque el número no se almacena en la tarjeta SIM?

El método que está utilizando es la única parte del SDK para hacer esto, y sólo funciona en los dispositivos donde el número se almacena en la tarjeta SIM, que sólo algunas compañías hacen. Para todos los demás operadores, tendrá que pedirle al usuario que introduzca el número de teléfono manualmente, ya que el número simplemente no se almacena en ninguna parte del dispositivo desde donde puede recuperarlo.

@Raghav tiene razón, debido a mi sugerencia, debe usar la preferencia compartida para almacenar el número de teléfono del usuario la primera vez que la aplicación esté abierta, y después de que el número de usuario se utilizará cuando se necesita en la aplicación.

Hay un otro enfoque, que necesita un número de panel de SMS como 5000, 3000 o etc en un primer momento crear una identificación única para su aplicación en la tienda en su base de datos, entonces cuando la actividad principal lanza enviar un mensaje de texto a su panel de SMS con ID de la aplicación en Mensaje entonces en la programación de la tela cuando usted consiguió el número del remitente de la tienda de SMS con su identificación, entonces de nuevo a su aplicación envía una petición con la identificación a su tela para conseguir (tal como poste de HTTP o el acceso directo a la base de datos del Web sql) Con ese ID

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