2011-08-04 8 views
0

私のアプリケーションで受信したSMSメッセージをキャプチャしようとしています。これを行うために、私はBroadcastReceiverを使用しています。マニフェストファイルにセットアップ権限とフィルタがあります。アプリケーションがクラッシュするテキストを受け取るたびに、プログラムをデバッグしようとすると、受信者のコードの最初の行にさえも到達しません。誰かが私が間違っていることを知っていますか?ここでAndroid SMSレシーバクラッシュ

は、受信機のコードです:

import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 
import android.telephony.SmsMessage; 

import android.os.Bundle; 

public class SMSReceiver extends BroadcastReceiver { 

    String from = null; 
    String msg = null; 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     // TODO Auto-generated method stub 
      this.abortBroadcast(); 

      //---get the SMS message passed in--- 
      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(); 
        from = msgs[i].getOriginatingAddress(); 
        str += " :"; 
        str += msgs[i].getMessageBody().toString(); 
        msg = msgs[i].getMessageBody().toString(); 
        str += "\n"; 
       } 
      }   
    } 
} 
+0

ログは何を表していますか? –

+0

デバッガのコンソールログなどを意味しますか?デバッガで表示されるものは何も表示されていないので、ソース以外のものは見つかりませんでした。 – user879378

+0

Logcat、私は意味する。まず、logcatビューを有効にする必要があります。 –

答えて

0

はビン&ゲンファイルを削除し、あなたのmainfestでこのレシーバを登録&プロジェクトを形成します。

<receiver android:name="yourpackagename.Boot" > 
      <intent-filter> 

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

私の仕事のためにあなたの仕事が欲しいです。