广播——使用广播接收者接收短信

来源:互联网 发布:it行业 知乎 编辑:程序博客网 时间:2024/05/01 00:22

转自http://www.cnblogs.com/zhongyinghe/p/5316123.html

1、如果想使用广播接受者接收短信,必须先启动activity;如果不启动activit的话在4.0以上的版本是无效的,这是为了安全考虑

2、清单文件

  <receiver android:name="com.examplezyh.getsmsmsg.SmsReceiver">            <intent-filter android:priority="1000">               <action android:name="android.provider.Telephony.SMS_RECEIVED"></action>            </intent-filter>        </receiver>

3、权限清单设置

<uses-permission android:name="android.permission.RECEIVE_SMS"/>

4、java代码

package com.examplezyh.getsmsmsg;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.telephony.SmsMessage;public class SmsReceiver extends BroadcastReceiver {    @Override    public void onReceive(Context context, Intent intent) {        // TODO Auto-generated method stub         System.out.println("收到短信了");        //pdus是获取短信的内容的键        Object[] pdus = (Object[])intent.getExtras().get("pdus");        for(Object pdu : pdus){            SmsMessage smsMessage = SmsMessage.createFromPdu((byte[])pdu);                        String body = smsMessage.getMessageBody();            String sender = smsMessage.getOriginatingAddress();                        System.out.println("body=" + body);            System.out.println("sender=" + sender);        }                }}


0 0
原创粉丝点击