短信拦截

拦截短信的BroadcastReceiver实现

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();  //拦截短信的接收。
             }
        }

    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值