您的位置:首页 > 其它

广播接收者之监听短信并获取内容

2017-08-09 23:13 274 查看
在清单文件注册广播

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

<receiver android:name="com.deson.smslistener.SmsReceiver">

            <intent-filter android:priority="1000">

                <action android:name="android.provider.Telephony.SMS_RECEIVED"/>

            </intent-filter>

        </receiver>

写一个类继承BroadcastReceiver

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) {
System.out.println("短信到来了....");
//短信的数据是pdu的数据,必须对短信的格式很了解才可以解析短信.
Object[] objs = (Object[]) intent.getExtras().get("pdus");
for(Object obj:objs){
SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) obj);
String body = smsMessage.getMessageBody();
String sender = smsMessage.getOriginatingAddress();
System.out.println("body:"+body);
System.out.println("sender:"+sender);
abortBroadcast();
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: