LocalBroadcastManager를 사용하는 것이 좋습니다. 인 텐트는 애플리케이션 내부에서만 볼 수있는 BroadcastReceiver와 같습니다.
내가 뭘지만, 이후 사용자 정의보기 (안 등들의 OnDestroy이있는 활동)의 작성시 등록하고있어 사실이다
private BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// your code here
}
};
@Override
protected void onPause() {
LocalBroadcastManager.getInstance(this).unregisterReceiver(receiver);
super.onPause();
}
@Override
protected void onResume() {
LocalBroadcastManager lbm = LocalBroadcastManager.getInstance(this);
IntentFilter filter = new IntentFilter();
filter.addAction(MyClass.MY_ACTION);
lbm.registerReceiver(receiver, filter);
super.onResume();
}
- 난 내 수신기의 등록을 취소 할 수있는 적절한 장소를 찾을 수 없습니다. 그래서 현재 나는하지 않습니다./ –
보기 (또는 사용자 정의보기)에는 활동이나 서비스와 같은 라이프 사이클이 없으므로 파괴되거나 숨겨진시기를 알 수 없습니다. 모든 뷰의 모든 등록/등록 취소 조치를 포함하는 활동에서이를 제어해야합니다. – vggonz
나는 이것이 사용자 정의보기가 이러한 의미에서 독립적 일 수 있기를 희망하지만 답변으로 받아 들일 것입니다. 정말 제한적입니다 ... 누군가 내가 듣고 싶다는 생각을 가지고 있다면, 고마워요. –