文章出處

廢話就不說了,新建類繼承,然后配置Manifest.xml:如下

<!--需要給一個接收短信的權限 -->
<uses-permission android:name="android.permission.RECEIVE_SMS"/>

<receiver android:name=".SMSReceiver">
      <intent-filter>
             <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
      </intent-filter>
</receiver>
<action android:name="android.provider.Telephony.SMS_RECEIVED"/>這個action需要自己敲出來,沒有提示的,可能是出于某些原因,Google將他移除了。
然后就是在BroadcastReceiver中的onReceiver方法里面寫自己需要的邏輯代碼了
 1 public class SMSReceiver extends BroadcastReceiver {
 2     @Override
 3     public void onReceive(Context context, Intent intent) {
 4         Object objects[] = (Object[])intent.getExtras().get("pdus");
 5         for (Object pdu:objects){
 6             SmsMessage sm =  SmsMessage.createFromPdu((byte[]) pdu);
 7             String body = sm.getMessageBody();
 8             String address = sm.getOriginatingAddress();
 9             System.out.println(address+"  "+body);
10         }
11     }
12 }

上面通過獲得一個SmsMessage對象,獲得短信的內容和地址。

(Android設備接收到的SMS是以pdu形式的)

 

 

 

文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()