Мені потрібно створити власний приймач трансляції в події 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 для діяльності також повинні реєструвати та скасовувати реєстрацію приймача мовлення.
Я справді хочу зрозуміти, що вважається найкращою практикою для цього і чому.
onDestroy()
виклику більше події не будуть слухатися приймачем.