2015-05-28 101 views
0

在我的项目中SIM卡交换需求。如果我自动更改我的SIM卡,应用程序将显示如何在SharedPreferences中存储SIM卡号码以及如何将旧SIM卡与新SIM卡在SIM卡中比较旧SIM卡号码和新SIM卡交换需求

+1

此问题[太宽](http://stackoverflow.com/help/on-topic)。有太多可能的答案,或者这个格式的答案太长。请添加详细信息以缩小答案集或隔离几个段落中可以回答的问题。 – jurgemaister

回答

0

String simSerialNumber; String oldSimSerNumberNumber;

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(); 
    } 
+0

谢谢!!它的工作正常 – Sanketh

1

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

这使得很难找出一个人是否已经交换了SIM卡。