我的Broadcastreceiver出了问题,我不知道自己做错了什么。
我已经阅读了许多帖子@stackoverflow,但没有任何帮助。
我正在从我的帮助类发送广播,广播接收器在一个活动中实现。我在发送它之前在helperclass上添加了一个额外的Intent,但意图@the活动有空的额外内容。我做错了什么?
这是我的源代码:
//助手类
...
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>
我已经尝试过:
普通广播
仅在活动
仅在Manifest中注册过滤器
粘性广播
context.getIntent()。getExtra ...
... intent.getExtra
如果有人能给我一些建议,那就太好了。
非常感谢!!