LG-P500上的SIM状态检测问题

时间:2011-11-10 12:12:41

标签: android sim-card lg

我的应用需要在执行操作前检查SIM卡状态。因此,我使用TelephonyManager.getSimState()。如果应用程序将状态视为SIM_STATE_READY,那么它会继续向用户显示错误。 到目前为止这一点运作良好,但最近我得到了LG-P500(LG Optimus One)设备所有者的抱怨说,虽然用户已将SIM卡插入设备并能够拨打/接听电话我的应用程序一直给出有关SIM卡的错误。

来自用户的日志显示在设备上我获得SIM卡状态为SIM_STATE_UNKNOWN(0)。

OS Version :2.3.3
Brand :lge
Device :thunderg

LG是否有办法以不同的方式管理Sim状态,或者LG以某种方式对待SIM_STATE_UNKNOWN和SIM_STATE_READY相同?

谢谢,

图莎尔

2 个答案:

答案 0 :(得分:3)

我只有LG P500自2.3以来也有同样的问题,在2.2上工作正常。 要检测SIM是否准备就绪,您可以使用

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

String imsi = tm.getSubscriberId();`

如果imsi不为空,则SIM已准备就绪。

另外在LG P500上可以使用PhoneStateListener,你可以使用它。

答案 1 :(得分:0)

医生说

  

public static final int SIM_STATE_UNKNOWN

     

SIM卡状态:未知。表示SIM正处于转换状态   国家之间。例如,当用户输入SIM引脚时   PIN_REQUIRED状态,对sim状态的查询返回此状态   转到SIM_STATE_READY。

SIM_STATE_READY不等于SIM_STATE_UNKNOW

显示未知的原因可能很多。此外,很有可能它在CDMA网络中,因此可能没有SIM或访问它。