Tôi có nhu cầu tạo bộ thu phát sóng tùy chỉnh trong sự kiện onCreate của một hoạt động và rõ ràng là tôi cần phải hủy Đăng ký bộ thu phát sóng trong sự kiện onDestroy của hoạt động
Để rõ ràng đây là một đoạn mã tôi sử dụng
public class AnActivity extends Activity {
private ResponseReceiver receiver;
public class ResponseReceiver extends BroadcastReceiver {
public static final String ACTION_RESP =
"mypackagename.intent.action.MESSAGE_PROCESSED";
@Override
public void onReceive(Context context, Intent intent) {
// TODO Start a dialogue if message indicates successfully posted to server
}
}
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
IntentFilter filter = new IntentFilter(ResponseReceiver.ACTION_RESP);
filter.addCategory(Intent.CATEGORY_DEFAULT);
receiver = new ResponseReceiver();
registerReceiver(receiver, filter);
}
@Override
public void onDestroy() {
super.onDestroy();
unregisterReceiver(receiver);
}
Tôi đã đọc rằng các sự kiện onPause / onResume và onStart / onStop cho hoạt động cũng nên đăng ký và hủy đăng ký bộ thu phát sóng.
Tôi thực sự muốn hiểu điều gì được coi là phương pháp tốt nhất cho việc này và tại sao.
onDestroy()
được gọi không còn các sự kiện sẽ được người nhận lắng nghe.