1

Broadcastreceiver に問題があり、何が間違っているのかわかりません。

私はすでに多くの投稿 @stackoverflow を読みましたが、何も役に立ちませんでした。

ヘルパークラスからブロードキャストを送信しています。ブロードキャストレシーバーはアクティビティに実装されています。送信する前にヘルパークラスのインテントにエクストラを追加していますが、インテント @ アクティビティには null エクストラがあります。私は何を間違っていますか?

これは私のソースコードです:

//ヘルパークラス

    ...
    public static String BROADCAST_ACTION_DM = "de.je.toctohk.DISPLAYMESSAGE";
    ...
    public void method() {
       String msg = _intent.getStringExtra("message");
       Intent broadcast = new Intent();

       broadcast.setAction(BROADCAST_ACTION_DM);       
       broadcast.putExtra("msg", _chatentryid);

    sendStickyBroadcast(broadcast);      

}

//アクティビティ

   private BroadcastReceiver receiver = new BroadcastReceiver() {

    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub
        String test = getIntent().getStringExtra("msg");
        Toast.makeText(getApplicationContext(), intent.getExtras().getString("msg"), Toast.LENGTH_SHORT).show();



    }
};

protected void onResume() {
    IntentFilter filter = new IntentFilter();
    filter.addAction(GcmIntentService.BROADCAST_ACTION_DM);
    _testintent = registerReceiver(receiver, filter);
    super.onResume();
}

//マニフェスト

    <activity
        android:name="de.je.toctohk.activities.ChatActivity"
        android:label="@string/title_activity_push" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <action android:name="de.je.toctohk.DISPLAYMESSAGE" /> 
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

私がすでに試したこと:

  • 通常放送

  • アクティビティにフィルターを登録するだけ

  • マニフェストにフィルターを登録するだけ

  • スティッキーブロードキャスト

  • context.getIntent().getExtra…</p>

  • インテント.getExtra…</p>

誰かが私にアドバイスをくれたら最高です。

どうもありがとう!!

4

0 に答える 0