使用共享偏好检测SIM卡更改

时间:2012-07-31 14:17:52

标签: android sharedpreferences

我已经设法将我的SIM卡序列保存到名为serial的字符串中的packagename.preferences.xml中,但现在我要比较我当前的序列号。

当我使用android.intent.boot_completed广播接收器启动手机时。 String value = sp.getString(“serial”,“”)中的值;我无法获得串行字符串的当前值以进行正确比较。

         TelephonyManager tMgr=(TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
         String currentSerial = tMgr.getSimSerialNumber();

         Toast.makeText(context, "Current Serial Number: " + currentSerial, Toast.LENGTH_LONG).show();

 SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
 String value = sp.getString("serial", "");

 if (value == currentSerial)
 {
     Toast.makeText(context, "SIM Change detected!", Toast.LENGTH_SHORT).show();
 }
 else {
     Toast.makeText(context, "No SIM Change detected!", Toast.LENGTH_SHORT).show();
 }

1 个答案:

答案 0 :(得分:0)

您可能没有获得相同的SharedPreferences。尝试为两者指定SharedPrefereneces名称和/或为每个名称使用基本上下文。