Grooter 2017-09-15 03:25 采纳率: 100%
浏览 942
已采纳

安卓开发关于通过广播获取信息的问题

申请权限

            <!--短信广播监听器-->
    <receiver android:name=".Broadcast">
        <intent-filter android:priority="999">
            <action android:name="android.provider.Telephony.SMS_RECEIVED" />
        </intent-filter>
    </receiver>

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Message;
import android.telephony.SmsMessage;
import android.widget.Toast;

public class Broadcast extends BroadcastReceiver {
private static final String ACTION="android.provider.Telephony.SMS_RECEIVED";
private Message message=new Message();
private Bundle bundle=new Bundle();
@Override
public void onReceive(Context context, Intent intent){
Toast.makeText(context, "来短信啦",Toast.LENGTH_SHORT).show();
if(ACTION.equals(intent.getAction())){
SmsMessage[] smsMessage=getMessageFromIntent(intent);
StringBuilder str=new StringBuilder();
if(smsMessage!=null&&smsMessage.length>0){
for(SmsMessage smg:smsMessage){
str.append(smg.getDisplayOriginatingAddress()+":\n ");
str.append(smg.getDisplayMessageBody()+"\n");
}
}
Toast.makeText(context, str.toString(),Toast.LENGTH_SHORT).show();
}
}
public static SmsMessage[] getMessageFromIntent(Intent intent){
SmsMessage[] smsMessage=null;
Bundle bundle=intent.getExtras();
Object[] puds=(Object[])bundle.get("puds");
smsMessage=new SmsMessage[puds.length];
for(int i=0;i<puds.length;i++){
byte[] data=((byte[])puds[i]);
smsMessage[i]=SmsMessage.createFromPdu(data);
}
return smsMessage;
}
}

请问哪里错了就是监听不了短信,有人发短信来没app没反应

不好意思我小白一个没有C币,求助

  • 写回答

3条回答 默认 最新

  • 秦城季 2017-09-16 09:57
    关注

    如果代码没错应该是手机的问题了,有些手机厂商为了用户数据的安全,做系统的时候会把某些源码改掉的。比如我的小米的有很多功能被限制了,太tm恶心了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 unity实习让我做一个程序
  • ¥15 idea tomcat和sql驱动不匹配吗
  • ¥15 如何查看h3c 5130s-28f-si交换机配置 及更改网口
  • ¥15 HFSS仿真喇叭天线阵列方向图出现异常
  • ¥15 blender自发光强度
  • ¥15 FIR滤波器算法设计与实现(利用库函数firdec()
  • ¥15 利用单片机产生正弦信号,来测量差分放大电路放大倍数和共模放大倍数的思路和仿真
  • ¥60 关于mavlink的论文咨询
  • ¥66 定制开发肯德基自动化网站下单软件
  • ¥15 中科院研发的TextMind(文心)