分享

在Android实现广播接收---短信接收

 blankice 2011-12-30

Android使用过程中,如果你想窃听别人接收到的短信,达到你不可告人的目的,那么本节内容可以实现你的需求。当系统收到短信时,会发出一个action名称为android.provider.Telephony.SMS_RECEIVED的广播Intent,该Intent存放了接收到的短信内容,使用名称“pdus”即可从Intent中获取短信内容。这里面得到对象数组,数组是以二进制数组格式

  1. public class SmsBroadcastReceiver extends BroadcastReceiver {  
  2.         @Override  
  3.         public void onReceive(Context context, Intent intent) {  
  4.                 Object[] pduses=(Object[])intent.getExtras().get("pdus");  
  5.                 for(Object pdus: pduses){  
  6.                         byte[] pdusSms=(byte[])pdus;  
  7.                         SmsMessage smsMessage=SmsMessage.createFromPdu(pdusSms);  
  8.                         String mobile=smsMessage.getOriginatingAddress();//获得发短信手机  
  9.                         String content=smsMessage.getMessageBody();//获得短信内容  
  10.                         Date datenew Date(smsMessage.getTimestampMillis());//获得短信发送时间  
  11.                         SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
  12.                         String sendDate=simpleDateFormat.format(date);  
  13.                 }  
  14.         }  
  15. }  
  16. 在AndroidManifest.xml文件中的<application>节点里对接收到短信的广播Intent进行订阅:  
  17. <receiver android:name=".IncomingSMSReceiver"> 
  18. <intent-filter><action android:name="android.provider.Telephony.SMS_RECEIVED"/></intent-filter></receiver> 
  19. 在AndroidManifest.xml文件中添加以下权限:  
  20. <uses-permission android:name="android.permission.RECEIVE_SMS"/><!-- 接收短信权限 --> 
  21. <uses-permission android:name="android.permission.SEND_SMS"/><!-- 发送短信权限 --> 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多