我想从Fragment
向Activity
发送消息(不是Fragment
父{1}},只是另一个消息。
实际上我从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
我刚刚关注了那个伟大的post,但它仅适用于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
有关,也许Fragment
不正确......
有什么想法吗? 感谢。
答案 0 :(得分:-1)
在onCreate中注册广播并在活动的onDestroy中取消注册。
在您的情况下,它可能会在onPause中取消注册。所以在onDestroy而不是onPause中取消注册。
谢谢,