Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android手機衛士之綁定sim卡序列號

Android手機衛士之綁定sim卡序列號

編輯:關於Android編程

現在開始具體 處理每一個導航頁面的邏輯,首先看第二個導航頁

這裡需要實現綁定sim卡序列號的功能,注意添加相應的權限:uses-permission android:name="android.permission.READ_PHONE_STATE"

  private SettingItemView siv_sim_bound;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_setup2);
    initUI();
  }

  private void initUI() {
    siv_sim_bound = (SettingItemView)findViewById(R.id.siv_sim_bound);
    //1.回顯(讀取已有的綁定狀態,用作顯示sp中是否存儲了sim卡的序列號)
    final String sim_number = SpUtil.getString(this, ConstantValue.SIM_NUMBER, "");
    //2.判斷是否序列卡號為""
    if(TextUtils.isEmpty(sim_number)) {
      siv_sim_bound.setCheck(false);
    } else {
      siv_sim_bound.setCheck(true);
    }
    siv_sim_bound.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View view) {
        //3.獲取原有的方法
        boolean isCheck = siv_sim_bound.isCheck();
        //4.將原有狀態取反
        //5,狀態設置給當前條目
        siv_sim_bound.setCheck(!isCheck);
        //6,存儲(序列卡號)
        //6.1獲取sim卡序列號TelephoneManager
        if(!isCheck) {
          TelephonyManager manager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
          //6.2獲取sim卡的序列卡號
          String simSerialNumber = manager.getSimSerialNumber();
          //6.3存儲
          SpUtil.putString(getApplicationContext(), ConstantValue.SIM_NUMBER, simSerialNumber);
        } else {
          //7,將存儲序列卡號的節點,從sp中刪除掉
          SpUtil.remove(getApplicationContext(), ConstantValue.SIM_NUMBER);
        }
      }
    });
  }

在SpUtil中添加remove方法

  /**
   * 從sp 中移除指定節點
   * @param context  上下文環境
   * @param key    需要一處節點的名稱
   */
  public static void remove(Context context, String key) {
    // (存儲節點文件名稱,讀寫方式)
    if (sp == null) {
      sp = context.getSharedPreferences("config", context.MODE_PRIVATE);
    }
    sp.edit().remove(key).commit();
  }

運行項目,勾選checkbox後,查看data/data..../shared_prefs文件下的config.xml文件,內容如下:

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
 <string name="mobile_safe_psd">1107f203c8f0cd474aa3ab6a6e03c6cc</string>
 <string name="sim_number">89014103211118510720</string>
</map>

說明綁定sim卡的功能已經實現。

當checkbox沒有被選定的時候,也即是sim卡沒有被選定,這個時候點擊“下一頁”就會彈出吐司提醒,邏輯代碼如下:

  public void nextPage(View view) {
    String serialNumber = SpUtil.getString(this, ConstantValue.SIM_NUMBER, "");
    if(!TextUtils.isEmpty(serialNumber)) {
      Intent intent = new Intent(getApplicationContext(), Setup3Activity.class);
      startActivity(intent);
      finish();
    } else {
      ToastUtil.show(this, "請綁定sim卡");
    }
  }

效果如下圖:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持本站。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved