• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

接受系统短信广播问题

class MessageReceiver extends BroadcastReceiver {

        @Override
        public void onReceive(Context context, Intent intent) {
            Bundle bundle = intent.getExtras();
            Object[] pdus = (Object[]) bundle.get("pdus");
            SmsMessage[] messages = new SmsMessage[pdus.length];
            for(int i = 0 ; i < messages.length; i++) {
                messages = SmsMessage.createFromPdu((byte[]) pdus);
            }
            String address = messages[0].getOriginatingAddress();//获开发送发号码
            String fullMessage = "";
            for(SmsMessage message : messages) {
                fullMessage += message.getMessageBody();//获开短信内容
            }
            sender.setText(address);
            content.setText(fullMessage);
        }
有几个问题不太明白:1、messages[0].getOriginatingAddress()是默认数组第一个数存放发送方号码吗?

2、foreach语句中的message对象是已经实例化了吗?

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与1


  • message[0]是获开message数组中的第一个元素SmsMessage,然后通过SmsMessage对象调用getOriginatingAddress(),获开发送号码
  • foreach时,message已经初始化了,只不过每个元素的内容没有复制,都是默认初始化为null,然后在foreach中进行赋值

使用道具 举报

发新帖

发布任务需求已有1031290位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!