在SIM交换要求中比较旧的SIM号码和新的SIM号码

时间:2015-05-28 12:06:44

标签: android sharedpreferences

在我的项目中有一个SIM Swap的要求。如果我自动更改我的SIM应用程序将显示,如何在SharedPreferences中存储SIM卡号码以及如何将旧SIM卡与新SIM卡进行比较

2 个答案:

答案 0 :(得分:1)

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

这使得人们很难发现一个人是否换过SIM卡。

答案 1 :(得分:0)

String simSerialNumber;         String 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();
    }