2012-02-11 5 views
0

タイトルのアクションにBroadcastReceiverを使用しようとしています。 私は2クラスを作成しました: 1)私のBroadcastReceiverを登録するアクティビティ。 2)BroadcastReceiverを拡張し、onReceiveメソッドをオーバーライドするクラス。Android:BroadcastReceiver SMS_RECEIVED

マニフェストには明らかにエラーが含まれていないので、ここでは2つのクラスも一緒に投稿することにします。

ご注意いただきありがとうございます。あなたはBroadcastReceiverに一致するアクションがandroid.provider.Telephony.SMS_RECEIVEDだけでなく、最後の部分でなければなりません)

public class SMSBroadcastReceiver extends BroadcastReceiver { 

private static final String TAG = "SMSBroadcastReceiver"; 

@Override 
public void onReceive(Context context, Intent intent) { 

if (intent.getAction().equalsIgnoreCase("SMS_RECEIVED")){ 
    Log.d(TAG, "Un messaggio ricevuto"); 
    Toast.makeText(context, "Un messaggio ricevuto", Toast.LENGTH_LONG).show(); 
    } 
    } 
} 



public class SMSyncHome extends Activity { 

private SMSBroadcastReceiver SMSreceiver; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    SMSreceiver = new SMSBroadcastReceiver(); 
    registerReceiver(SMSreceiver, new IntentFilter("android.provider.Telephony.SMS_RECEIVED")); 
    } 

     } 


    <?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.contervis.SMSync" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk android:minSdkVersion="10" /> 
    <uses-permission android:name="android.permission.INTERNET"/> 
    <uses-permission android:name="android.permission.RECEIVE_SMS"/> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" > 

     <activity android:name=".SMSyncHome" 
        android:label="@string/app_name"> 
      <intent-filter > 
       <action android:name="android.intent.action.MAIN"/> 
       <category android:name="android.intent.category.LAUNCHER"/> 
      </intent-filter> 
     </activity> 

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

    </application> 

</manifest> 
+0

問題は何ですか? – Raffaele

+0

メッセージを受信して​​も何も起こりません。ログには何も書かれていません。 – Contervis

+0

まずReceiverを宣言するだけで済み、すでにマニフェストでこれを実行しているので、registerReceiver()行を削除してみることができます。私は2つが矛盾するかどうかわからない – Raffaele

答えて

0

; P.Sは=私は英語ではないよ、私の質問は、任意の文法の間違いを持っ​​ている場合はとても残念。

+0

ありがとう、私はそれを修正しましたが、すでに何も起こりません。 私はアクティビティからregisterReceiverメソッドも削除しました。 – Contervis

+0

if()ブロック全体を削除するとどうなりますか? – Raffaele

+0

完了、何も変わらない...私はこの事で夢中になるだろう – Contervis

関連する問題