Quiero usar una alarma para ejecutar un código en un momento determinado. He implementado con éxito una alarma con el receptor de difusión registrado en el manifiesto, pero de la manera que lo entiendo, este método utiliza una clase separada para el receptor de difusión.Android Alarm Manager con receptor de difusión registrado en código en lugar de manifiesto
Puedo utilizar este método para iniciar otra actividad pero no puedo usarlo para ejecutar un método en mi actividad principal?
(how can I notify a running activity from a broadcast receiver?)
Así que han estado tratando de registrar mi receptor de radiodifusión en mi actividad principal como se explica en la respuesta anterior.
private BroadcastReceiver receiver = new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "hello", Toast.LENGTH_SHORT).show();
uploadDB();
}
};
public void onResume() {
super.onResume();
IntentFilter filter = new IntentFilter();
filter.addAction(null);
this.registerReceiver(this.receiver, filter);
}
public void onPause() {
super.onPause();
this.unregisterReceiver(this.receiver);
}
Sin embargo, he sido incapaz de conseguir esto para trabajar con el gestor de alarma, estoy seguro de cómo yo debería vincular la intención de alarma al receptor de radiodifusión. ¿Podría alguien señalarme un ejemplo de registrar dinámicamente un receptor de difusión de gestor de alarmas en la actividad? ¿O explicar cómo haría esto?
Impresionante, me las arreglé para ponerlo en funcionamiento, sin embargo, no necesité agregar código al manifiesto. Acabo de registrar el receptor de difusión progamaticamente con un filtro de intenciones del mismo nombre. – serenskye
Gracias y +1 por ti – Barrier