如何獲取短信內容

如何獲取短信的內容?
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>數組

相關文章
相關標籤/搜索