Ich versuche, meine Night Anwendung automatisch zu starten beim Laden der folgenden BroadcastReceiver im onPause umgesetzt() -Methode:startActivity() von BroadcastReceiver
BroadcastReceiver test = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
unregisterReceiver(this);
Intent i = new Intent(context, NightClock.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
};
registerReceiver(test, new IntentFilter(Intent.ACTION_POWER_CONNECTED));
Der OnReceive() -Methode ausgelöst wird, wenn die USB-Kabel eingesteckt, aber die Aktivität startet nicht. Doch das Protokoll dies zeigt:
I/ActivityManager( 79): Starting activity: Intent { flg=0x10000000 cmp=com.meins.nightclock/.NightClock }
Irgendwelche Ideen, warum das Protokoll sagt die Aktivität gestartet wird, aber es passiert nichts?
Bitte aktualisieren Sie Ihr Problem mit mehr von LogCat - ein paar Zeilen vor diesem und ein Dutzend Zeilen nach diesem. Auch warum 'FLAG_ACTIVITY_NEW_TASK'? Ist die Aktivität, die diesen 'BroadcastReceiver' registriert hat, auch noch aktiv, wenn ACTION_POWER_CONNECTED auftritt? – CommonsWare
Es gibt keine weiteren Zeilen in LogCat, wenn eine Verbindung zur Stromversorgung hergestellt wird. Der 'BroadcastReceiver' ist in derselben Aktivität registriert, die er starten soll. Diese Aktivität läuft immer noch im Hintergrund (die LogCat App wurde in den Vordergrund gebracht). Wenn diese Aktivität im Taskmanager beendet wird, scheint der BroadcastReceiver überhaupt nicht zu triggern. Ist dieser Ansatz, meine App von Anfang an falsch zu starten? – Gubbel