如何獲取短信的內容?
1.編寫一個廣播接收器類,該類去集成BroadCastReceiver
在onReceive()方法中處理廣播
關鍵的Java代碼:android
1 public void onReceive(Context context,Intent intent){ 2 Bundle bundle=intent.getExtras(); 3 if(bundle!=null){ 4 //得到收到的數據 5 Object[] objArray=(Object[])bundle.get("pdus"); 6 //定義封裝短信內容的smsMessage對象數組 7 SmsMessage[] messages=new SmsMessage[objArray.length]; 8 //循環處理收到的全部短信 9 for(int i=0;i<objArray.length;i++){ 10 //將每條短信數據裝換成SmsMessage對象 11 messages[i]=SmsMessage.createFromPdu((byte[])objArray[i]); 12 //獲取發送短信的電話號碼和短信內容 13 String s="手機號:"+messages[i].getOriginatingAddress()+"\n"; 14 s ="短信內容:"+message[i].getDisplayMessageBody(); 15 //顯示發送短信的電話號碼和短信內容 16 Toast.makeText(context,s,Toast.LENGTH_LONG).show(); 17 } 18 } 19 }
2.而後再清單文件中定義廣播接收器類時添加短信廣播Action便可。
<receiver android:name=".shortMessageReceiver"
android:enabled="true">
<intent-filter>
<action android:name"android.provider.Telephony.SMS_RECEIVED"/>
<intent-filter>
</receiver>數組