首页 > 代码库 > android 短信拦截

android 短信拦截

android 4+版本需要用户主动添加broadReceiver

1.清单文件

<manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.example.smslistener"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk        android:minSdkVersion="8"        android:targetSdkVersion="17" />    <uses-permission android:name="android.permission.RECEIVE_SMS"/>     <application        android:allowBackup="true"        android:icon="@drawable/ic_launcher"        android:label="@string/app_name"        android:theme="@style/AppTheme" >                <activity            android:name=".MainActivity"            android:label="@string/app_name" >            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>                        <receiver android:name=".SmsReceiver">            <!-- priority 优先级      最高:1000  最低 : -1000 -->            <intent-filter  android:priority="1000">                <action android:name="android.provider.Telephony.SMS_RECEIVED"/>            </intent-filter>        </receiver>            </application></manifest>

 

2.mainActivity

package com.example.smslistener;import android.app.Activity;import android.os.Bundle;public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {                super.onCreate(savedInstanceState);        finish();    }}

4.SmsReceicer

package com.example.smslistener;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("短信来了...");                //获取短信        Object[] pdus = (Object[])intent.getExtras().get("pdus");                for(Object pdu:pdus)        {            SmsMessage sms = SmsMessage.createFromPdu((byte[])pdu);            String body = sms.getMessageBody();            String address = sms.getOriginatingAddress();            System.out.println("body:"+body);            System.out.println("address:"+address);                        if("4444".equals(address))            {                //拦截短信                abortBroadcast();                            }                    }            }}

 

android 短信拦截