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>
誰かが私にアドバイスをくれたら最高です。
どうもありがとう!!