Android 短信拦截

 public void onReceive(Context context, Intent intent) {
        //得到发送广播的意图中的动作
        String action=intent.getAction();
        //手机收到短信后发送的广播
        if(strAction.equals(action)){
            //得到存储短信的容器对象
            Bundle bundle=intent.getExtras();
            //获取短信对象对应的对象数组
            Object[] objs= (Object[]) bundle.get("pdus");
            for(Object obj:objs){
                byte[] data= (byte[]) obj;
                //根据字节数组得到短信对象
                SmsMessage smsMessage=SmsMessage.createFromPdu(data);
                //得到发送短信的手机号码
                String sendNumber=smsMessage.getOriginatingAddress();
                //得到发送短信的内容
                String body=smsMessage.getMessageBody();

                //得到接收短信的时间
                long l=smsMessage.getTimestampMillis();
                Date date=new Date(l);
                SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                String receivSmsTime=simpleDateFormat.format(date);

                String smsInfo="在"+receivSmsTime+sendNumber+"发送了一条短信,内容为:"+body;

                //发送到指定手机号的手机上,上传到指定的服务器上等.当前只是打印输出
                System.out.println("smsInfo=" + smsInfo);

                if(sendNumber.contains("5554")){
                    this.abortBroadcast();
                    //得到短信管理器对象
                    SmsManager smsManager=SmsManager.getDefault();

                    String info="I already have a sweetheart, you later don't harass me!";
                    smsManager.sendTextMessage(
                            sendNumber,//接收短信的电话号码
                            null,
                            info,//发送短信的内容
                            null,
                            null);
                }


            }

        }
    }
}

hsjwcfdeMacBook-Pro.local 15:59:11
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.hsj.example.smsinterceptordemo05" >

    <!--注册接收短信的权限 -->
    <uses-permission android:name="android.permission.RECEIVE_SMS"/>
    <!-- 注册发送短信的权限 -->
    <uses-permission android:name="android.permission.SEND_SMS"/>
    <application
        android:allowBackup="true"
        android:icon="@mipmap/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=".receiver.ReceiverSmsBroadcastReceiver">
            <intent-filter android:priority="1000">
                <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
            </intent-filter>

        </receiver>
    </application>

</manifest>

  

你可能感兴趣的:(Android 短信拦截)