Когда регистрировать/отменять регистрацию широковещательных приемников, созданных в активности?

Мне нужно создать пользовательский приемник вещания в событии onCreate активности и, очевидно, мне нужно снять регистрацию приемника вещания в событии onDestroy активности

Для ясности вот фрагмент кода, который я использую

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);
    }

Я читал, что события onPause/onResume и onStart/onStop для активности также должны регистрировать и снимать регистрацию приемника вещания.

Я очень хочу понять, что считается лучшей практикой для этого и почему.

74
задан Fantômas 19 May 2018 в 16:45
поделиться