2011-02-07 17 views
3

私はこの停止SMS伝播

public class SMSReceiver extends BroadcastReceiver { 
@Override 
    public void onReceive(Context context, Intent intent) { 
     abortBroadcast(); 
     setResultData(null); 
    } 
} 

のAndroidManifest.xml

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

のように受信したときにSMSを伝播しないようにしようとしていますが、これは動作しません。私は数日前から修正を探していました。どんな助けも高く評価されます。あなたが<intent-filter>、ない<receiver>android:priority属性を設定する必要が

おかげ

+0

がしました0ですか? –

+0

opps ..修正、ありがとう – kakopappa

答えて

6

例えば

<intent-filter android:priority="9999" > 

この属性を使用し、あなたが本当に放送が受信されている特定の順序 を課す必要がある、または にアンドロイドを強制したい場合にのみ、他の人の上に一つの活性を好みます。値は整数(例えば、 "100")でなければなりません。数値が高いほど優先度が高くなります。 (順番は 同期メッセージに適用され、それは非同期メッセージでは無視されます。)

http://developer.android.com/guide/topics/manifest/intent-filter-element.html

+0

おっと、チップありがとう。私はまだAndroidの新しいものです。 btwそれは魅力のように働いた。 – kakopappa

0

私は@クリストファー・オアの答えにコメントを追加することができませんでしたので、それは優先順位ことを指摘しなければなりません[-1000、1000]の間でなければなりません。 9999が多すぎます。

この値は、「100」などの整数である必要があります。高い数値は の優先度が高くなります。デフォルト値は、値が-1000より 大きくなければなりません、あなたは「これは** **機能していないようだ」という意味未満1000

http://developer.android.com/guide/topics/manifest/intent-filter-element.html

関連する問題