我的应用需要在执行操作之前检查 SIM 卡状态。因此,为此我使用 TelephonyManager.getSimState () 。如果应用将状态视为 SIM_STATE_READY,则它会继续,否则会向用户显示错误。 到目前为止效果很好,但最近我收到 LG-P500 (LG Optimus One) 设备所有者的投诉,他们说虽然用户在设备中插入了 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.3 以来,我只在 LG P500 上遇到了同样的问题,在 2.2 上工作正常。 要检测 SIM 卡是否准备就绪,您可以使用
`TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
字符串 imsi = tm.getSubscriberId();`
如果 imsi 不为空,则 SIM 已准备就绪。
在 LG P500 上也可以使用 PhoneStateListener,您可以使用它。
关于android - LG-P500 上的 SIM 卡状态检测问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8079327/