我想从 aFragment
向a 发送消息Activity
(不是Fragment
parent Activity
,只是另一个)。
实际上,我从一个Service
到另一个做同样的事情Activity
,而且效果很好。
这是我的代码:
Fragment
:
private void sendBroadcastMessage() {
Intent intent = new Intent("my_event");
// add data
intent.putExtra("message", "test");
LocalBroadcastManager.getInstance(getActivity()).sendBroadcast(intent);
}
Activity
:
private BroadcastReceiver myReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// Extract data included in the Intent
String message = intent.getStringExtra("message");
}
};
@Override
protected void onPause() {
// Unregister since the activity is not visible
LocalBroadcastManager.getInstance(this).unregisterReceiver(myReceiver);
super.onPause();
}
@Override
protected void onResume() {
super.onResume(); LocalBroadcastManager.getInstance(this).registerReceiver(myReceiver, new IntentFilter("my_event"));
}
我刚刚关注了那个很棒的帖子,但它只适用Service
于Activity
我认为这与Context
from the 有关系Fragment
,也许getActivity()
不是正确的方法......
有任何想法吗?谢谢。