Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android監聽SIM狀態

android監聽SIM狀態

編輯:關於Android編程

  1. /*
  2. 監聽sim狀態改變的廣播,返回sim卡的狀態, 有效或者無效。
  3. 雙卡中只要有一張卡的狀態有效即返回狀態為有效,兩張卡都無效則返回無效。
  4. */
  5. import android.app.Service;
  6. import android.content.BroadcastReceiver;
  7. import android.content.Context;
  8. import android.content.Intent;
  9. import android.telephony.TelephonyManager;
  10.  
  11. public class SimStateReceive extends BroadcastReceiver {
  12. private final static String ACTION_SIM_STATE_CHANGED = "android.intent.action.SIM_STATE_CHANGED";
  13. private final static int SIM_VALID = 0;
  14. private final static int SIM_INVALID = 1;
  15. private int simState = SIM_INVALID;
  16.  
  17. public int getSimState() {
  18. return simState;
  19. }
  20.  
  21. @Override
  22. public void onReceive(Context context, Intent intent) {
  23. if (intent.getAction().equals(ACTION_SIM_STATE_CHANGED)) {
  24. TelephonyManager tm = (TelephonyManager)context.getSystemService(Service.TELEPHONY_SERVICE);
  25. int state = tm.getSimState();
  26. switch (state) {
  27. case TelephonyManager.SIM_STATE_READY :
  28. simState = SIM_VALID;
  29. break;
  30. case TelephonyManager.SIM_STATE_UNKNOWN :
  31. case TelephonyManager.SIM_STATE_ABSENT :
  32. case TelephonyManager.SIM_STATE_PIN_REQUIRED :
  33. case TelephonyManager.SIM_STATE_PUK_REQUIRED :
  34. case TelephonyManager.SIM_STATE_NETWORK_LOCKED :
  35. default:
  36. simState = SIM_INVALID;
  37. break;
  38. }
  39. }
  40. }
  41.  
  42. }
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved