Android BroadcastReceiver监听手机短信

来源:互联网 发布:java开源网 编辑:程序博客网 时间:2024/05/21 05:58

实现监听手机接收的短信内容和发件人:


package com.zking.administrator.g160628_android22_sms;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.telephony.SmsMessage;import android.util.Log;/** * Created by Administrator on 2017/7/13 0013. */public class MySMS extends BroadcastReceiver {    @Override    public void onReceive(Context context, Intent intent) {        if("android.provider.Telephony.SMS_RECEIVED".equals(intent.getAction())){            Log.i("test","收到短信了");            Bundle bundle=intent.getExtras();            Object object[]= (Object[]) bundle.get("pdus");            SmsMessage smsMessage[]=new SmsMessage[object.length];            for (int i = 0; i < object.length; i++) {                smsMessage[i]=SmsMessage.createFromPdu((byte[])object[i]);            }            for (SmsMessage message : smsMessage) {                String address=message.getOriginatingAddress();                String body=message.getDisplayMessageBody();                Log.i("test","发件人"+address+":"+body);            }        }    }}


//权限(必须写)

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

<application android:allowBackup="true" android:icon="@mipmap/ic_launcher"    android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round"    android:supportsRtl="true" android:theme="@style/AppTheme">
              . . .

                       

<receiver android:name=".MySMS">    <intent-filter>        <action android:name="android.provider.Telephony.SMS_RECEIVED"></action>    </intent-filter></receiver>

. . .

</application>

原创粉丝点击