Problema de detección de estado de SIM en LG-P500

Mi aplicación debe comprobar el estado de la tarjeta SIM antes de realizar una acción. Así que para eso uso TelephonyManager.getSimState (). Si la aplicación ve el estado como SIM_STATE_READY entonces procede de lo contrario muestra error al usuario. Esto hasta ahora ha funcionado bien, pero recientemente recibí quejas de propietarios de dispositivos LG-P500 (LG Optimus One) diciendo que aunque el usuario tiene la tarjeta SIM insertada en el dispositivo y es capaz de hacer / recibir llamadas mi aplicación sigue dando error sobre la tarjeta SIM.

Los registros del usuario muestran que en el dispositivo obtengo el estado SIM como SIM_STATE_UNKNOWN (0).

OS Version :2.3.3 Brand :lge Device :thunderg 

LG tiene alguna forma de gestionar el estado Sim de forma diferente o LG de alguna manera trata SIM_STATE_UNKNOWN y SIM_STATE_READY iguales?

Gracias,

Tushar

Tengo el mismo problema con sólo LG P500 desde 2.3, en 2.2 funciona bien. Para detectar si SIM listo puede utilizar

`TelephonyManager tm = (TelephonyManager) context.getSystemService (Contexto.TELEPHONY_SERVICE);

String imsi = tm.getSubscriberId (); `

Si imsi no es nulo SIM está listo.

También en LG P500 funciona PhoneStateListener y puede utilizarlo.

El doctor dice

Public static final int SIM_STATE_UNKNOWN

Estado de la tarjeta SIM: Desconocido. Significa que el SIM está en transición entre estados. Por ejemplo, cuando el usuario introduce el PIN SIM en estado PIN_REQUIRED, una consulta para sim status devuelve este estado antes de girar a SIM_STATE_READY.

SIM_STATE_READY no es igual a SIM_STATE_UNKNOW

Razón de mostrar desconocido podría ser muchos. También, las ocasiones son que está en red CDMA por lo tanto no pudo tener SIM o el acceso a él.

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