0

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

当我使用 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();
 }
4

1 回答 1

0

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

于 2012-07-31T14:20:07.217 回答