標籤:android style blog http color io os ar for
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 簡訊攔截