今天记录一下短信监听器的代码,因为有时候很常用,但是又很容易忘记

短信监听器的实现就是在应用中注册一个广播接收者,当系统接收到短信的时候就会发出一个广播。

首先在清单文件中注册这个短信广播接收者代码如下:

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

  还要在清单文件中声明权限代码如下:

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

  然后就是类的实现代码如下:(这是一个模板代码)

package com.jsako.smsreceiver;

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) {
        Object[] pdus=(Object[]) intent.getExtras().get("pdus");
        for(Object pdu:pdus){
            SmsMessage sm=SmsMessage.createFromPdu((byte[]) pdu);
            //短信内容
            String body=sm.getMessageBody();
            //短信发送者号码
            String address=sm.getDisplayOriginatingAddress();
            System.out.println("body:"+body);
            System.out.println("address:"+address);
        }
        } }

 

posted on 2016-07-21 15:54  JsAko飞得更远  阅读(322)  评论(0)    收藏  举报

导航