2011-01-27 67 views
0

我已經創建了自動文本回復應用程序,其中我在manifest文件中聲明瞭接收方並聲明瞭如下的操作標記。短信接收的廣播接收機在Android中的未接呼叫時發出消息呼叫

<receiver android:name=".SmsReceiver"> 
      <intent-filter> 
      <action android:name="android.provider.Telephony.SMS_RECEIVED" /> 
      </intent-filter> </receiver> 

在接收機類別i只檢查動作類型的接收器如下。

public void onReceive(Context context, Intent intent) 
{ 

      if(intent.getAction().equalsIgnoreCase("android.provider.Telephony.SMS_RECEIVED")) 
     { 
      Bundle bundle = intent.getExtras();   
      SmsMessage[] msgs = null; 
      String str = "";  
      if (bundle != null) 
      { 
      //---retrieve the SMS message received--- 
       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]);     
        str += "SMS from " + msgs[i].getOriginatingAddress();      
        str += " :"; 
        str += msgs[i].getMessageBody().toString(); 
        str += "\n"; 
        address=msgs[i].getOriginatingAddress(); 
       } 
     /* other functionality........... */ 
    } 

    } 

現在,這個接收器越來越號召進入短信但過一段時間未接電話也 我不希望這得到未接電話呼叫。我必須做些什麼來避免錯過電話。

謝謝。 維克拉姆

回答

0

看看你能這樣做:註冊意圖廣播android.provider.Telephony.SMS_RECEIVED

registerReceiver(new BroadcastReceiver(){ 
     @Override 
     public void onReceive(Context arg0, Intent arg1) { 
      // do ur stuff; 

     } 
    }, new IntentFilter("android.provider.Telephony.SMS_RECEIVED")); 

u必須導入該包第一

import android.content.BroadcastReceiver;