2011-07-12 40 views
0

我如何獲得了在該方法中接收到的當前消息:安卓:獲取當前接收到消息

public class RecieveSMS extends BroadcastReceiver { 
public void onReceive(Context context, Intent intent) { 

    if (intent.getAction().equals(SMS_RECEIVED)) { 
     try { 

我將如何檢索數量,時間和身體?正如我試圖保存消息,然後中止廣播,我試着查詢內容://短信,但如果它們不是來自該用戶的消息,它會接收第一條消息,然後阻止其餘消息。

回答

1
public void onReceive(Context context, Intent intent) { 

    Bundle bundle = intent.getExtras();   
    SmsMessage[] msgs = null; 
    String messageContent = ""; 
    String number = ""; 

    if (bundle != null) 
    { 
     Object[] pdus = (Object[]) bundle.get("pdus"); 
     msgs = new SmsMessage[pdus.length];  

     for (int i=0; i<msgs.length; i++){ 
      msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);     
      number = msgs[i].getOriginatingAddress(); 
      messageContent = msgs[i].getMessageBody().toString(); 
     } 
    }       

}