안 드 로 이 드 핸드폰 위 사의 귀속 sim 카드 시퀀스 번호

지금부터 모든 네 비게 이 션 페이지 의 논 리 를 구체 적 으로 처리 하고 두 번 째 네 비게 이 션 페이지 를 먼저 봅 니 다.

여기 서 sim 카드 시리 얼 번 호 를 연결 하 는 기능 이 필요 합 니 다.해당 권한 을 추가 하 는 것 에 주의 하 십시오.uses-permission android:name="android.permission.READPHONE_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 를 봅 니 다.../sharedprefs 파일 에 있 는 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 ");
    }
  }
효 과 는 다음 그림 과 같 습 니 다:

이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기