首页 > 代码库 > (十六)短信广播接收
(十六)短信广播接收
一、需求:当接收到短信到来的广播的时候,获得短信的内容和发件人
二、SmsReceiver.java文件如下所示:
package com.example.smslistenerreiceiver;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.telephony.SmsMessage;import android.telephony.gsm.SmsManager;import android.util.Log;public class SmsReceiver extends BroadcastReceiver { private static final String TAG = "SmsReceiver"; @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub Log.i(TAG, "短信来了"); Object [] pdus = (Object[]) intent.getExtras().get("pdus"); for(Object pdu :pdus){ SmsMessage sms = SmsMessage.createFromPdu((byte[]) pdu); String sender = sms.getOriginatingAddress(); String body = sms.getMessageBody(); Log.i(TAG, "发件人:"+sender); Log.i(TAG, "短信内容:"+body); if("5566".equals(sender)){ SmsManager sm = SmsManager.getDefault(); sm.sendTextMessage(sender, null, "短信", null, null); } } }}
三、注意添加接收短信的权限
<uses-permission android:name="android.permission.RECEIVE_SMS" />
四、注册监听广播事件
<receiver android:name=".SmsReceiver" > <intent-filter android:priority="2147483647" > <action android:name="android.provider.Telephony.SMS_RECEIVED" /> </intent-filter> </receiver>
(十六)短信广播接收
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。