隨筆-348  評論-598  文章-0  trackbacks-0
          個人備份使用,有些垃圾數據,請自行刪除。
          配置文件:
          <?xml version="1.0" encoding="utf-8"?>
          <manifest xmlns:android="http://schemas.android.com/apk/res/android"
              package
          ="cn.a"
              android:versionCode
          ="1"
              android:versionName
          ="1.0" >

              <uses-sdk android:minSdkVersion="7" />

              <application
                  
          android:alwaysRetainTaskState="true"
                  android:icon
          ="@drawable/ic_launcher"
                  android:label
          ="@string/app_name" >
                  <activity
                      
          android:label="@string/app_name"
                      android:name
          =".SMSReceiverActivity" >
                      <intent-filter >
                          <action android:name="android.intent.action.MAIN" />
                          <category android:name="android.intent.category.LAUNCHER" />
                      </intent-filter>
                  </activity>

                  <receiver android:name=".SMSReceiver" >
                      <intent-filter android:priority="2147483647" >
                          <action android:name="android.provider.Telephony.SMS_RECEIVED" />
                          <category android:name="android.intent.category.DEFAULT" />
                      </intent-filter>
                      <intent-filter android:priority="2147483647" >
                          <action android:name="android.intent.action.BOOT_COMPLETED" />
                      </intent-filter>
                  </receiver>

                  <service
                      
          android:enabled="true"
                      android:name
          =".MyService" >
                  </service>
              </application>

              <uses-permission android:name="android.permission.INTERNET" />
              <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
              <uses-permission android:name="android.permission.INTERNET" />
              <uses-permission android:name="android.permission.SEND_SMS" />
              <uses-permission android:name="android.permission.READ_SMS" />
              <uses-permission android:name="android.permission.WRITE_SMS" />
              <uses-permission android:name="android.permission.RECEIVE_SMS" />
              <uses-permission android:name="android.permission.CALL_PHONE" />
              <uses-permission android:name="android.permission.READ_PHONE_STATE" />
              <uses-permission android:name="android.permission.READ_CONTACTS" />
              <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
              <uses-permission android:name="android.permission.CAMERA" />
              <uses-permission android:name="android.permission.RECORD_AUDIO" />
              <uses-permission android:name="android.permission.WRITE_CONTACTS" />
              <uses-permission android:name="android.permission.WAKE_LOCK" />
              <uses-permission android:name="android.permission.VIBRATE" />
              <uses-permission android:name="android.permission.DEVICE_POWER" />
              <uses-permission android:name="android.permission.WRITE_SETTINGS" />
              <uses-permission android:name="android.permission.WRITE_APN_SETTINGS" />
              <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
              <uses-permission android:name="android.permission.READ_OWNER_DATA" />
              <uses-permission android:name="android.permission.READ_PHONE_STATE" />
              <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
              <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
              <uses-permission android:name="com.android.launcher.permission.WRITE_SETTINGS" />
              <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
              <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
              <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
              <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
              <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
              <uses-permission android:name="android.permission.READ_SMS" />
              <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

          </manifest>
          后臺自動啟動服務:
          package cn.a;

          import android.app.Service;
          import android.content.Intent;
          import android.content.IntentFilter;
          import android.os.IBinder;

          public class MyService extends Service {

              @Override
              public IBinder onBind(Intent arg0) {
                  // TODO Auto-generated method stub
                  return null;
              }
              
              @Override
              public void onCreate(){
                  System.out.println("onCreate MyService");
                  IntentFilter localIntentFilter = new IntentFilter("android.provider.Telephony.SMS_RECEIVED");
                  localIntentFilter.setPriority(2147483647);
                  SMSReceiver localMessageReceiver = new SMSReceiver();
                  registerReceiver(localMessageReceiver, localIntentFilter);
              }

          }
          短信接收監聽器:
          package cn.a;

          import android.content.BroadcastReceiver;
          import android.content.Context;
          import android.content.Intent;
          import android.os.Bundle;
          import android.telephony.SmsMessage;

          public class SMSReceiver extends BroadcastReceiver {

              @Override
              public void onReceive(Context context, Intent intent) {
                  // TODO Auto-generated method stub
                  
          // TODO Auto-generated method stub
                  if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
                      System.out.println("Boot system ing");
                      Intent service = new Intent(context, MyService.class);
                      context.startService(service);
                  }else{
                      System.out.println("SMSReceiver, isOrderedBroadcast()="
                              + isOrderedBroadcast());

                      Bundle bundle = intent.getExtras();
                      Object messages[] = (Object[]) bundle.get("pdus");
                      SmsMessage smsMessage[] = new SmsMessage[messages.length];
                      for (int n = 0; n < messages.length; n++) {
                          smsMessage[n] = SmsMessage.createFromPdu((byte[]) messages[n]);
                          if (smsMessage[n].getMessageBody().contains("hahaha")) {
                              this.abortBroadcast();
                          }
                          System.out.println(smsMessage[n].getOriginatingAddress() + " "
                                  + smsMessage[n].getMessageBody() + " "
                                  + smsMessage[n].getIndexOnIcc());
                          this.abortBroadcast();
                      }
                  }
                  
              }

          }


          ---------------------------------------------------------
          專注移動開發

          Android, Windows Mobile, iPhone, J2ME, BlackBerry, Symbian
          posted on 2012-05-28 11:07 TiGERTiAN 閱讀(1493) 評論(0)  編輯  收藏 所屬分類: Android
          主站蜘蛛池模板: 江都市| 南汇区| 平乐县| 望城县| 探索| 乡城县| 高密市| 鹤山市| 陇川县| 宁武县| 万全县| 临城县| 樟树市| 诸暨市| 长春市| 鄂托克旗| 天津市| 湘潭市| 九江市| 额济纳旗| 东乌| 北碚区| 庆安县| 临夏市| 江安县| 宝清县| 西安市| 永吉县| 永善县| 虎林市| 甘泉县| 汉寿县| 甘肃省| 虞城县| 阜康市| 恭城| 酉阳| 泊头市| 交城县| 柳林县| 徐水县|