2011-02-08 96 views
1

HI全部android sim卡听众

我想在我的服务类中实现getSimstate()侦听器。我无法做到这一点。

我知道它可以在Telephony类中的sim侦听器的帮助下完成。但我没有得到任何代码来实现它。

如果有人是有码听SIM枯萎准备好或不...请给我...

+0

我不知道这会帮助你或不这样张贴评论。 “看看这里:http://marakana.com/forums/android/examples/62.html和http://www.krvarma.com/posts/android/using-android-telephonymanager/” – 2011-02-08 09:15:09

+0

你需要立即结果或者想要监视手机上的状态变化? – Zelimir 2011-02-08 09:58:44

回答

2
final TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); 

     tm.listen(new PhoneStateListener() { 
      @Override 
      public void onServiceStateChanged(ServiceState serviceState) { 
       //Code in here executed when the sim state has changed 
      } 

      @Override 
      public void onDataConnectionStateChanged(int state) { 

      } 
}); 
1

清单文件

<receiver 
     android:name=".SimChangedReceiver" 
     android:enabled="true" 
     android:process=":remote" > 
     <intent-filter> 
      <action android:name="android.intent.action.SIM_STATE_CHANGED" /> 
     </intent-filter> 
     <intent-filter> 
      <action android:name="android.intent.action.BOOT_COMPLETED" /> 
     </intent-filter> 
    </receiver> 

SimChangedReceiver类

public class SimChangedReceiver extends BroadcastReceiver { 

    public void onReceive(Context context, Intent intent) { 
     String action = intent.getAction(); 
     if (action.equalsIgnoreCase("android.intent.action.SIM_STATE_CHANGED")) { 
      Log.d("SimChangedReceiver", "--> SIM state changed <--"); 
     } 
    } 
}