2011-12-25 2 views
6

は、起動時にサービスを使用して、ブート起動時にアンドロイドにTelephonyManagerを使用してSIM番号を検出することが可能です...AndroidのSIM変更

TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); 
String ss=tm.getSimSerialNumber(); 

答えて

10

あなたは、起動完了アクションすなわちアンドロイドのための放送受信機を登録する必要があります。あなたがあなたのサービスを開始することができ、この受信機のonReceiveに

をintent.action.BOOT_COMPLETED

TelephonyManager telephoneMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); 
    String phoneNumber = telephoneMgr.getLine1Number(); 

はまたpermiを持っている必要があり、コードの行の下にSIM番号を取得しますマニフェストファイルで電話番号をREAD_PHONE_STATEとして読み込むためのssion。はい、私はそれを試してみました...しかし、返信frndsのためのサービス...ありがとうを開始イムことができません。..

public class BootListener extends BroadcastReceiver { 

@Override 
public void onReceive(Context context, Intent arg1) { 
    Intent intent = new Intent(context,Myservice.class); 
    context.startService(intent); 
} 

}

+0

-

あなたはとして放送受信機からサービスを開始することができますパブリッククラスBootListenerはBroadcastReceiver { \t @Override \tます。public void onReceive(コンテキストコンテキスト、テントARG1){ \tを拡張したまま... – subrussn90

+2

あなたは、放送受信機からサービスを開始することができます意図インテント=新しいインテント(context、Myservice.class); \t \t context.startService(intent); \t} } – Sushil

+0

私は一歩前進しました...スタートアップでセリスを開始することができましたが、シムセリアル番号を取得するとプログラムがクラッシュします...この問題の考えはありますか? – subrussn90

関連する問題