| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4814 人关注过本帖
标题:关于接受短信的问题
只看楼主 加入收藏
yu1543054075
Rank: 1
等 级:新手上路
帖 子:102
专家分:8
注 册:2015-4-30
结帖率:90.24%
收藏
 问题点数:0 回复次数:0 
关于接受短信的问题
public class SMS_receiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub
        String action = intent.getAction();
        if (action.equals(MainActivity.SMS_RECEIVER)) {
            Bundle bundle = intent.getExtras();
            if (bundle != null) {
                //在Android设备中,接收到的SMS是以pdu协议的编码形式来进行传递的。
                //在短信广播中可以获取pdu数组
                /*
                 * public Object get (String key)
                 * Returns the entry with the given key as an object.
                 */
                //获取pdus原始数据
                Object[] object = (Object[]) bundle.get("pdus");
                //实例化短信类
                SmsMessage[] messages = new SmsMessage[object.length];
                /*
                 * public static SmsMessage createFromPdu (byte[] pdu)
                 * Create an SmsMessage from a raw PDU.
                 */
                for (int i = 0; i < object.length; i++) {
                    //原始数据转换为短信类数据
                    messages[i] = SmsMessage.createFromPdu((byte[]) object[i]);
                }
            
                /*
                 * public String getDisplayOriginatingAddress ()
                 * 返回源地址,或电子邮件地址,如果这个消息是从电子邮件网关。如果起始地址不可用,返回空。
                 * public String getMessageBody ()
                 * 如果它存在,并以文本为基础,则返回该消息体。
                 */
                SmsMessage message = messages[0];    //重组短信信息类
                Toast.makeText(
                        context,
                        "接收到消息的号码是:" + message.getDisplayOriginatingAddress()
                                + "\n接收到的消息是" + message.getMessageBody(), 1000)
                        .show();
                Log.i(MainActivity.TAG, "接收到消息的号码是:"
                        + message.getDisplayOriginatingAddress() + ", 接收到的消息是"
                        + message.getMessageBody());


Object[] object = (Object[]) bundle.get("pdus");?这句代码的意义在哪里,为什么要将Object类型强制转换成Object[],
SmsMessage message = messages[0];    ?这句话是什么意思
请大神指导一下,很着急!!!!
2016-03-21 16:42
快速回复:关于接受短信的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.043633 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved