Ich muss im onCreate-Ereignis einer Aktivität einen benutzerdefinierten Broadcast-Empfänger erstellen, und natürlich muss ich die Registrierung des Broadcast-Empfängers im onDestroy-Ereignis der Aktivität aufheben
Aus Gründen der Klarheit ist dies ein Ausschnitt aus dem von mir verwendeten Code
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);
}
Ich habe gelesen, dass die Ereignisse onPause / onResume und onStart / onStop für die Aktivität auch den Rundfunkempfänger registrieren und die Registrierung aufheben sollten.
Ich möchte wirklich verstehen, was als beste Vorgehensweise dafür angesehen wird und warum.
onDestroy()
Aufrufen keine Ereignisse mehr vom Empfänger abgehört werden.