2011-11-10 5 views
4

조치를 취하기 전에 내 앱이 SIM 카드 상태를 확인해야합니다. 그래서 저는 TelephonyManager.getSimState()를 사용합니다. 앱이 SIM_STATE_READY (으)로 상태가 표시되면 다른 단계로 진행하여 오류를 사용자에게 표시합니다. 지금까지 잘 작동했지만 최근에는 LG-P500 (LG Optimus One) 장치 소유자가 사용자가 SIM 카드를 장치에 삽입하고 전화를 걸거나받을 수 있음에도 불구하고 내 응용 프로그램이 SIM 카드에 대해 오류를주고 있다고 불평했습니다 .LG-P500에서 SIM 상태 감지 문제가 발생했습니다.

사용자가 기록한 로그에 SIM 상태가 SIM_STATE_UNKNOWN (0)으로 표시됩니다.

OS Version :2.3.3 
Brand :lge 
Device :thunderg 

다르게 심 상태를 관리 어떤 식 으로든 LG 아니면 LG 어떻게 든 SIM_STATE_UNKNOWN 및 SIM_STATE_READY 같은 취급? 알 수 없음 :

감사합니다,

Tushar는

답변

0

상무부

공공 정적 최종 INT SIM_STATE_UNKNOWN

SIM 카드 상태를 말한다. SIM이 상태 간 전환 에 있음을 나타냅니다. 예를 들어 사용자가 PIN_REQUIRED 상태에서 SIM 핀을 입력하면 이 SIM_STATE_READY로 바뀌기 전에 sim 상태 쿼리가이 상태를 반환합니다.

SIM_STATE_READY 많은 수 알 수없는 보여주기위한

이유를 SIM_STATE_UNKNOW 같지. 또한 CDMA 네트워크에 있기 때문에 SIM 또는 Access가 없을 수도 있습니다.

+0

SIM 카드는 GSM 네트워크입니다. – Tushar

3

2.3에서 2.2 이후 LG P500에서만 동일한 문제가 발생합니다. 2.2에서 문제가 없습니다. SIM을 사용할 준비가되었는지 확인하려면

전화 통신 관리자 tm = (전화 통신 관리자) 컨텍스트 .getSystemService (Context.TELEPHONY_SERVICE);

문자열 IMSI = tm.getSubscriberId은(); IMSI null가 아닌 경우,`

SIM 준비가 된 것입니다.

또한 LG P500에서 PhoneStateListener를 사용할 수 있으며 사용할 수 있습니다.

관련 문제