Android设备接收到的SMS是以pdu形式的(protocol description unit)。android.telephony.gsm.SmsMessage这个类可以储存SMS的相关信息,我们也可以从接收到的pdu中创建新的SmsMessage实例,Toast界面组件可以以系统通知的形式来显示接收到的SMS消息文本。

A PDU is a "protocol discription unit", which is the industry format for an SMS message. because SMSMessage reads/writes them you shouldn't need to disect them. A large message might be broken into many, which is why it is an array of objects.

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 PDU相关推荐

  1. android pdu 编码规则,[转载]PDU编码规则

    目前,发送短消息常用Text和PDU(Protocol Data Unit,协议数据单元)模式.使用Text模式收发短信代码简单,实现起来十分容易,但最大的缺点是不能收发中文短信:而PDU模式不仅支持 ...

  2. Android Mms:PDU介绍(协议数据单元)

    MMS PDU(Protocol Data Unit,协议数据单元)由MMS头和MMS消息体组成,MMS头由多个域名和域值组成,由客户端指定, MMS头里面的一些域可以被MMS Proxy-Repla ...

  3. android获取短信电话,Android:如何从收到的短信中获取电话号码?

    OUTPUT: SmsReceiver.processReceivedSms:来自+ 1650815xxxx的短信 SmsReceiver.processReceivedSms:SMS正文测试4 / ...

  4. Android9.0 Mms (彩信接收步骤,Android9.0版本)

    1.彩信接收步骤 我们首先看4个类分别是PDU重要的几个类 PduPersister       用于管理PDU存储 PduParser           用于解析PDU PduComposer   ...

  5. 高通android 7.0彩信发送过程中使用到的google pdu

    对于彩信与数据库的交互操作,google并没有将这部分代码放在Mms中,而是放在framework中的pdu部分. 具体代码路径是在:opt\telephony\src\java\com\google ...

  6. android 开发时遇到的各种问题1--Android双模(CDMA/GSM)手机短信相关

    这篇博客主要是用来记录平时开发时遇到的各种问题,给大家一个参考,也可以跟大家一起讨论讨论. Android双模(CDMA/GSM)手机短信相关 参考博客http://blog.sina.com.cn/ ...

  7. Android中pendingIntent的深入理解

    pendingIntent字面意义:等待的,未决定的Intent. 要得到一个pendingIntent对象,使用方法类的静态方法 getActivity(Context, int, Intent, ...

  8. Android应用开发-广播和服务

    广播 广播的概念 现实:电台通过发送广播发布消息,买个收音机,就能收听 Android:系统在产生某个事件时发送广播,应用程序使用广播接收者接收这个广播,就知道系统产生了什么事件. Android系统 ...

  9. Android四大组件之BroadCastReceiver

    1. 基本概念 在Android 中,Broadcast 是一种广泛运用的在应用程序之间传输信息的机制.而BroadcastReceiver 是对发送出来的Broadcast 进行过滤接受并响应的一类 ...

最新文章

  1. ATS 5.3.0中parent.config配置文件解读
  2. SQL语句的增删改查
  3. 带调色板的位图BMP和不带调色板的BMP
  4. 网站优化靠前排名讲方法
  5. WF初学者对工作流的认识
  6. mysql数据库有触发器吗_MySQL数据库之MySQL 触发器实现
  7. cant find module express
  8. 还没搞完的排序(后期更新)
  9. 果粉失望!iPhone 12系列依旧刘海屏,将升级Face ID元件
  10. springmvc项目在启动完成之后执行一次方法_SpringMVC源码分析
  11. 忆2015,迎2016(致敬自己)
  12. php查看php进程
  13. c语言课程终结考试,C语言课程考核方案.doc
  14. 电脑通话有回音解决方案 使用电脑通话时有回音(可以听到对方电脑中自己说话的声音)电脑通话回音解决方案【以Thinkpad Win10系统为例】
  15. 佳能e478打印机怎么连接wifi
  16. 华为、董明珠纷纷站队“京鱼座”,京东IOT实力不容小觑
  17. jupyter 更改默认的文件保存路径
  18. 数学-排列组合的理解
  19. 对外开放的通用接口设计
  20. 【读论文-笔记】——1.沐神读Alexnet

热门文章

  1. matplotlib(3)
  2. boost::hof::always用法的测试程序
  3. boost::graph模块实现bellman的测试程序
  4. boost::format模块测试构造对象和基本解析
  5. GDCM:gdcm::StringFilter的测试程序
  6. Boost:是否支持sse4.1指令的测试程序
  7. Boost:获取随机数的实例
  8. ITK:计算图像的正向FFT
  9. ITK:轮廓空间对象
  10. VTK:图片之RGBToYIQ