Estoy tratando de iniciarse automáticamente mi solicitud NightClock de carga usando el siguiente método BroadcastReceiver implementado en el onPause():startActivity() desde 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));
El método OnReceive() se activa cuando el cable USB es enchufado, pero la actividad no comienza. Sin embargo, el registro muestra esto:
I/ActivityManager( 79): Starting activity: Intent { flg=0x10000000 cmp=com.meins.nightclock/.NightClock }
¿Alguna idea de por qué el registro dice que la actividad se inició, pero no ocurre nada?
Por favor, actualice su problema con más de LogCat - unas pocas líneas antes de ésta y una docena de líneas después de esta. Además, ¿por qué 'FLAG_ACTIVITY_NEW_TASK'? Además, ¿la actividad que registró este 'BroadcastReceiver' aún se produce cuando ocurre ACTION_POWER_CONNECTED? – CommonsWare
No hay más líneas en LogCat cuando se conecta a la alimentación. El 'BroadcastReceiver' está registrado en la misma actividad que debería comenzar. Esta actividad todavía se está ejecutando en segundo plano (la aplicación LogCat se ha puesto al frente). Si esta actividad se elimina en el administrador de tareas, el 'BroadcastReceiver' no parece activarse en absoluto. ¿Este enfoque de inicio automático de mi aplicación es incorrecto desde el principio? – Gubbel