android基础笔记——广播接收者,实现短信监听

来源:互联网 发布:微信上淘宝返利可信吗 编辑:程序博客网 时间:2024/05/21 15:03

1、定义一个类 SMSReceiver 继承 BroadcastReceiver 。并在清单文件中注册:

        <receiver android:name="com.example.CallMe.Receiver.SMSReceiver" >            <intent-filter>                <action android:name="android.provider.Telephony.SMS_RECEIVED" />            </intent-filter>        </receiver>
在注册的过程中,可将优先级设为最高:

        <receiver android:name="com.example.CallMe.Receiver.SMSReceiver" >            <intent-filter android:priority="1000" >                <action android:name="android.provider.Telephony.SMS_RECEIVED" />            </intent-filter>        </receiver>
2、在 onReceive 方法中获得短信的发送者,可短信内容:

public void onReceive(Context context, Intent intent) {// TODO Auto-generated method stub// 获得短信数组,pdus为短信协议Object[] objs = (Object[]) intent.getExtras().get("pdus");// 遍历数组,创建短信for (Object obj : objs) {SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) obj);// 获得短信发送者和短信内容String sender = smsMessage.getOriginatingAddress();String messageBody = smsMessage.getMessageBody();}}
如果想让自己的应用接收到短信后,不让手机接收到广播,可终止广播:abortBroadcast();
0 0
原创粉丝点击