在 sim Swap 要求中比较旧 sim 号码和新 sim 号码

Comparing old sim number with new sim number in sim Swap requirement

在我的项目中对 SIM 卡有要求 Swap.If 我会自动更改我的 SIM 卡,应用程序将显示,如何在 SharedPreferences 中存储 SIM 卡号码以及如何比较旧 SIM 卡与新 SIM 卡

无法保证您可以从 SIM 卡中获取号码,如 this question 中的回答。

这使得查明某人是否更换了 SIM 卡变得几乎不可能。

字符串模拟序列号; 串 oldSimSerialNumber;

    SharedPreferences sharedPreferences = getSharedPreferences("preference", MODE_PRIVATE);
    TelephonyManager tMgr = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
    simSerialNumber = tMgr.getSimSerialNumber()!=null?tMgr.getSimSerialNumber():"";
    oldSimSerialNumber = sharedPreferences.getString("simSerialNumber", "");

     logger.d("old sim"+oldSimSerialNumber);
     logger.d("present sim"+simSerialNumber);

    if(oldSimSerialNumber.equals("")){
        Editor prefEdit=sharedPreferences.edit();
        prefEdit.putString("simSerialNumber", simSerialNumber);
        prefEdit.commit();
    }
    else if(simSerialNumber.equals(""))
    {
        //do nothing // sim is not there in phone
        logger.d("no sim in device"+simSerialNumber);
        showNoSimInDevice();            
    }
    else if(simSerialNumber.equals(oldSimSerialNumber)){
        //both sims are equal
        Editor prefEdit=sharedPreferences.edit();
        prefEdit.putBoolean("temp_sim_changed", false);
        prefEdit.commit();
    }
    else{
        logger.d("two sims are different"+simSerialNumber+":"+oldSimSerialNumber);
         showAlertForSimChanged();
    }