TelephonyManager devuelve null para el número IMEI: ¿qué puede causar esto?
Estoy trabajando en una aplicación de Android y estoy recibiendo null
nuevo para el número IMEI cuando se utiliza TelophonyManager
. Esto está sucediendo en varios teléfonos de Huawei. (Todos ellos son Ascend Y530s).
Los teléfonos tienen tarjetas SIM y de otra manera parecen estar funcionando normalmente. Tenía la impresión de que sólo un teléfono roto devolvería IMEI null
. Claramente este no es el caso..
- GetLine1Number () Devuelve blanco, no nulo
- ¿Cómo rastrear los mensajes en Android?
- Obtener el número de teléfono programatically en android
- Cómo obtener la fuerza de la señal de android
- Llamada de teléfono de Android Handle
Preguntas. ¿Qué es exactamente este número IMEI – es decir, dónde está almacenado en el dispositivo? ¿Y qué significa cuando un teléfono aparentemente fino devuelve su valor como null
?
EDITAR
Debo mencionar que el número IMEI no siempre es null
. Alrededor de la mitad de las veces parece ser válido (aunque esto es muy difícil de medir ya que tenemos 5 teléfonos que devuelven números nulos IMEI \ a veces )
- Hacer llamada utilizando una tarjeta SIM especificada en un dispositivo de doble tarjeta SIM
- ¿Cómo puedo comprobar si la tarjeta SIM está disponible en un dispositivo Android?
- ¿Qué información proporciona Baseband en Android?
- ¿Cómo distinguir el estado de encendido / apagado de la pantalla durante la llamada entrante?
- Cómo averiguar qué SIM recibió SMS en Dual SIM Android Device
- Problemas con getLine1Number () para obtener el número de teléfono de los dispositivos
- ¿Por qué ITelephony.aidl funciona?
- Cómo proporcionar vibraciones personalizadas en las llamadas entrantes específicas
Después de su comentario, para obtener un identificador de dispositivo único para la aplicación de la encuesta, le sugeriría que use Settings.Secure.ANDROID_ID
como su identificador único.
String myAndroidDeviceId = Secure.getString(getApplicationContext().getContentResolver(), Secure.ANDROID_ID);
O puede utilizar tanto como
public String getUniqueID(){ String myAndroidDeviceId = ""; TelephonyManager mTelephony = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); if (mTelephony.getDeviceId() != null){ myAndroidDeviceId = mTelephony.getDeviceId(); }else{ myAndroidDeviceId = Secure.getString(getApplicationContext().getContentResolver(), Secure.ANDROID_ID); } return myAndroidDeviceId; }
- ImeOption = "actionNext" no funciona en TextInputLayout.
- Android: Visualice TextView en el lado derecho de EditText que está en TextInputLayout