2011-02-11 21 views
7

Deseo obtener el número de móvil de una tarjeta SIM que se inserta en el dispositivo. Sé como pr el android SDK TelephoneManger es la clase por la cual podemos obtenerlo por el método getLine1Number(). pero siempre devuelve valores nulos.Obtener móvil no desde el dispositivo real

Consultas:

  • ¿Puedo obtener un número de teléfono móvil de dispositivo?
  • ¿Es dependiente de una SIM o en algún caso también depende del dispositivo?
  • ¿Alguna otra forma de obtener el número de teléfono móvil del dispositivo?

Respuesta

1

Debe consultar this question y sus comentarios.

Algunas tarjetas SIM parecen causar que getLine1Number() devuelva nulo ... y nadie ha encontrado una manera de resolver esto.

More information here

+1

Nadie ha encontrado el camino, porque en ese caso el número no existe en la tarjeta SIM. – Zelimir

3

que está utilizando correcta y el único método disponible para el usuario común (que yo sepa). Es principalmente dependiente de SIM (no es obligatorio) y en algunos casos puede depender del dispositivo (getLine1Number() no implementado correctamente).

Para ser más precisos, IMSI identifica SIM de forma única. Pero MSISDN (el número de suscriptor) no está relacionado únicamente con SIM, ya que es posible cambiar MSISDN en la tarjeta SIM. La red puede usar IMSI desde SIM para encontrar MSISDN en el HLR y establecer la llamada.

Por lo tanto, no es obligatorio tener MSISDN en la tarjeta SIM.

1

En ese caso, siempre guarda su teléfono no usando SharedPreference usando el método getLine1Number(). cuando instale su aplicación, su número de teléfono será olvidado y cuando se use una nueva tarjeta SIM, envíe un SMS a su número registrado. siempre debe verificar después de iniciar la aplicación que su número almacenado es el mismo que el de su nuevo número. Si no ocurre nada, si no es así, su aplicación enviará un SMS.

Cuestiones relacionadas