In my project there is a requirement on SIM Swap.If i change my sim automatically app will display , How to store sim numbers in SharedPreferences and how to compare old sim with new sim
Asked
Active
Viewed 77 times
0
-
1This question is [too broad](http://stackoverflow.com/help/on-topic). There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs. – Jørgen R May 28 '15 at 12:08
2 Answers
1
There is no guarantee that you can get the number from a SIM Card, as answered in this question.
This makes it fairly impossible to find out if a person has swapped SIM Cards.

Community
- 1
- 1

TomRichardson
- 5,933
- 5
- 27
- 30
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();
}

BSK
- 65
- 1
- 1
- 10