2011-11-10 5 views
4

アクションを実行する前に、アプリがSIMカードのステータスを確認する必要があります。それで、私はTelephonyManager.getSimState()を使用します。アプリケーションがSIM_STATE_READYと表示されている場合は、エラーを表示します。 これまでのところうまくいきましたが、最近LG-P500(LG Optimus One)のデバイス所有者から、SIMカードがデバイスに挿入されていても電話をかける/受けることができますが、 。LG-P500のSIM状態検出の問題

ユーザからのログには、SIM_STATE_UNKNOWN(0)としてSIM状態を取得するデバイスが示されます。

OS Version :2.3.3 
Brand :lge 
Device :thunderg 

LGは、どのような方法は異なるシム状態の管理やLGが何とかSIM_STATE_UNKNOWNとSIM_STATE_READYが同じ扱いですか?不明:

おかげで、

Tushar

答えて

0

は、docは

のpublic static final int型SIM_STATE_UNKNOWN

SIMカードの状態を言います。 SIMが状態間の遷移 にあることを示します。例えば、ユーザが PIN_REQUIRED状態の下にSIMピンを入力すると、sim状態のクエリは がSIM_STATE_READYに戻る前にこの状態を返します。

SIM_STATE_READYは、未知のは、多くの可能性を示すため

理由をSIM_STATE_UNKNOWと同じではありません。また、CDMAネットワークにある可能性があるため、SIMやAccessがない可能性があります。

+0

SIMカードはGSMネットワークです。 – Tushar

3

私はLG P500と同じ問題を2.3から2.2までうまくいきます。 SIMが使用可能かどうかを検出するには

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

ストリングIMSI = tm.getSubscriberId(); IMSIがnullでない場合は '

SIMは準備ができています。

また、LG P500ではPhoneStateListenerを使用することができます。