He recorrido una docena de tutoriales y respuestas en el foro sobre este problema, pero todavía no he podido obtener algunos códigos de trabajo juntos. Trataré de mantener la pregunta clara:¿Cómo se inicia una actividad con AlarmManager en Android?
¿Cómo se usa AlarmManager (en la API de Android) para iniciar una actividad en un momento dado? Cualquier solución a este problema servirá.
Mi último intento para lograr esto está por debajo.
(importaciones omitidos. Me esperan para iniciar MyActivity 3 segundos después de que se abra el programa, que no es así. No hay mensajes de error que hablar.)
public class AndroidTest2Activity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Context context = this;//.getApplicationContext();
AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); // CORRECT
Intent intent = new Intent(context, myReceiver.class); // CORRECT
PendingIntent pending = PendingIntent.getBroadcast(context, 0, intent, 0); // CORRECT
manager.set(AlarmManager.RTC, System.currentTimeMillis() + 3000, pending); // CORRECT
setContentView(R.layout.main);
}
}
public class myReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
Intent i=new Intent(context, myActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
public class myActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("", "Elusive success");
setContentView(R.layout.main);
}
}
Cualquier consejo sería apreciado.
Tenga en cuenta: Tengo myReceiver en el manifiesto ya
¿Ha registrado el receptor en su AndroidManifest? –
Lo siento, debería haber mencionado eso. Con la línea, sí, lo hice. Avísame si esa es la línea incorrecta. –
BenLambell