26解决发送过来的号码和安全号码不一致的问题

本文探讨了Android应用中遇到的安全号码与接收到的号码不一致的状况,特别是当安全号码为模拟器号码如'5556'时,系统会自动添加前缀。解决方案是通过SharedPreferences检查号码是否包含原始安全号码。

使用SharedPreferences取出我们之前保存的安全号码,如果当时我们的安全号码是“5556”之类的模拟器的号码,那么系统会在前面自动添加很多数字。数以我们只要看是否包含既可以。(不大科学)

package com.ustc.mobilemanager.receiver;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.telephony.SmsMessage;
import android.util.Log;
import android.widget.Toast;

public class SMSReceiver extends BroadcastReceiver {

	private static final String TAG = "SMSReceiver";

	private SharedPreferences sp;

	@Override
	public void onReceive(Context context, Intent intent) {
		// 写接受短信的代码

		Object[] objs = (Object[]) intent.getExtras().get("pdus");

		sp = context.getSharedPreferences("config", Context.MODE_PRIVATE);

		for (Object b : objs) {
			// 具体的某一条短信
			SmsMessage sms = SmsMessage.createFromPdu((byte[]) b);
			// 发送者
			String sender = sms.getOriginatingAddress();

			String safeNumber = sp.getString("safenumber", "");
			//
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值