菜鸟问问 android 收短信中pdus 是什么东东? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 最近刚刚接触android,java语言也是刚刚开始学,所以有一些很初级的问题不太明白想请大家帮帮忙,以下这段代码是《android应用开发揭秘》中的一个接收短信的实例,我不明白的地方是Object messages[] = (Object[]) bundle.get("pdus");这段代码中(Object[]) bundle.get("pdus");是什么意思,bundle.get能够从pdus字符串中get到什么信息?在这段代码中(Object[]) bundle.get();中的参数貌似必须是pdus字符串,这是为什么?在网上找了很多相关的信息也没找到我想要的答案,只找到下面这段解释的还算详细 Android设备接收到的SMS是以pdu形式的(protocol description unit)。android.telephony.gsm.SmsMessage这个类可以储存SMS的相关信息,我们也可以从接收到的pdu中创建新的SmsMessage实例,Toast界面组件可以以系统通知的形式来显示接收到的SMS消息文本。但是还是没有揭开我的疑问,所以才想麻烦大家的。public class SMSReceiver extends BroadcastReceiver{/*当收到短信时,就会触发此方法*/public void onReceive(Context context, Intent intent){ Bundle bundle = intent.getExtras();Object messages[] = (Object[]) bundle.get("pdus"); SmsMessage smsMessage[] = new SmsMessage[messages.length]; for (int n = 0; n < messages.length; n++) { smsMessage[n] = SmsMessage.createFromPdu((byte[]) messages[n]); } //产生一个Toast Toast toast = Toast.makeText(context, "短信内容: " + smsMessage[0].getMessageBody(), Toast.LENGTH_LONG); //设置toast显示的位置 //toast.setGravity(Gravity.TOP|Gravity.LEFT, 0, 200); //显示该Toast toast.show();}} 你再到其他地方找找 android 的资料 有相关的介绍的吧 急急急~~android调用系统图库,如何一次性选择多张图片? Android游戏开发,如何让游戏适配所有的分辨率? 刚入手android,请推荐个视频教程和论坛。谢谢。 关于用AT操作android手机的几个问题 新手线程问题 如何实现将Android源码中的Browser在退出时关闭网络连接? 关于安卓 求知,layout中的控件怎么重叠 菜鸟求助!系统快捷键启动应用的问题。 那些c++搞android 的,后来都怎么样了。 一个xml文件里 可以放两个listview吗 如何在Android虚拟机中,同步Google Contacts 中的联系人?
这段代码中(Object[]) bundle.get("pdus");是什么意思,bundle.get能够从pdus字符串中get到什么信息?在这段代码中(Object[]) bundle.get();中的参数貌似必须是pdus字符串,这是为什么?在网上找了很多相关的信息也没找到我想要的答案,只找到下面这段解释的还算详细
Android设备接收到的SMS是以pdu形式的(protocol description unit)。android.telephony.gsm.SmsMessage这个类可以储存SMS的相关信息,我们也可以从接收到的pdu中创建新的SmsMessage实例,Toast界面组件可以以系统通知的形式来显示接收到的SMS消息文本。但是还是没有揭开我的疑问,所以才想麻烦大家的。public class SMSReceiver extends BroadcastReceiver
{
/*当收到短信时,就会触发此方法*/
public void onReceive(Context context, Intent intent)
{
Bundle bundle = intent.getExtras();
Object messages[] = (Object[]) bundle.get("pdus");
SmsMessage smsMessage[] = new SmsMessage[messages.length];
for (int n = 0; n < messages.length; n++)
{
smsMessage[n] = SmsMessage.createFromPdu((byte[]) messages[n]);
}
//产生一个Toast
Toast toast = Toast.makeText(context, "短信内容: " + smsMessage[0].getMessageBody(), Toast.LENGTH_LONG);
//设置toast显示的位置
//toast.setGravity(Gravity.TOP|Gravity.LEFT, 0, 200);
//显示该Toast
toast.show();
}
}