2011-01-27 24 views
0

私はmanifeastファイルの受信者を宣言し、アクションタグを次のように宣言した自動テキスト返信アプリケーションを作成しました。SMS受信用のブロードキャスト受信機は、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; 
関連する問題