Pregunta

Tengo un problema. Soy nuevo en Android y Java y estoy haciendo un programa que apaga los sonidos del teléfono y atenúa la pantalla en la hora seleccionada del usuario. Todo se hace obteniendo valores de entrada del usuario (hora y minuto) y estableciendo la alarma en función de estos valores para disparar una intención a un emisor que inicia un servicio que apaga los sonidos y atenúa la pantalla. Quiero que se reinicie esa alarma después de reiniciar. Pensé que simplemente podía configurar otro locutor de locutor que recibe intención boot_completed y luego configura la alarma que dispara una intención a un emisor utilizado antes de lo que inicia el servicio. Y mi problema es que no sé cómo poner los valores de la actividad que obtiene la entrada del usuario al Boradcastreceiver que inicia Boot_completed Intent. ¿O hay otra forma de establecer la misma alarma basada en la entrada del usuario después de reiniciar? En palabras simplemente, quiero configurar automáticamente la alarma después de reiniciar con el mismo tiempo de fuego que la alarma establecida por el usuario. Perdón por mi mal ingles...

¿Fue útil?

Solución

Su enfoque es correcto.

Lo único que necesita agregar es persistirlo en DB o en otro lugar. Cada vez que el usuario establece cosas e interactúas con AlarmManager, póngalo también en un archivo.

Cuando tengas BOOT_COMPLETED, Cargue datos y establezca todas las alarmas previamente.

Otros consejos

En el manifiesto de su aplicación:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

Luego implementa un emisor de locutor para recibir la transmisión:

public class SampleBootReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) {
            // Set the alarm here.
        }
    }
}

Para configurar la alarma después del reinicio, puede elegir los valores de su alarma de las preferencias compartidas o de DB.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top