短信拦截

来源:互联网 发布:js防水卷材与sbs 编辑:程序博客网 时间:2024/04/29 07:38

broadcastreceiver 广播接收者“:
清单文件:
intent-filter 设置优先级

 <receiver android:name=".receiver.SmsReceiver" >                 <intent-filter                   android:priority="2147483647">      Integer的最大值。                 <action android:name="android.provider.Telephony.SMS_RECEIVED"/>                </intent-filter>        </receiver>

权限:

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

ctrl+shift+t open type

package com.zh.mobilesafe.receiver;import java.util.concurrent.SynchronousQueue;import com.zh.mobilesafe.R;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.media.MediaPlayer;import android.os.Bundle;import android.provider.MediaStore.Audio.Media;import android.telephony.SmsManager;import android.telephony.SmsMessage;public class SmsReceiver extends BroadcastReceiver {    /**     * 拦截短信     */    public void onReceive(Context context, Intent intent) {        // TODO Auto-generated method stub        Bundle extras = intent.getExtras();        Object[] objects = (Object[]) extras.get("pdus");        for (Object object : objects) {             SmsMessage message = SmsMessage.createFromPdu((byte[]) object);             String originatingAddress = message.getOriginatingAddress();             String messageBody = message.getMessageBody();             System.out.println(originatingAddress+";"+messageBody);             if("#*alarm*#".equals(messageBody)){                 abortBroadcast();  //拦截短信的接收。             }        }    }}
0 0
原创粉丝点击