0 votos

Buenos días a todos…

busco ayuda de la comunidad… como siempre… así que perdonad las molestias, especialmente si lo que pregunto ya se respondió en algún lado, pero a día de hoy aún no he encontrado dicha respuesta… :-(

Veréis, estoy desarrollando (o eso intento) una aplicación android despertador. El tema es que el propio que trae mi terminal (bq Aquaris) no satisface mis necesidades y querría programar uno a mi medida. En principio, hacer que a cierta hora suene la música X durante un tiempo Y y que se repita cuando después de parado pase Z minutos, no me resulta complicado siguiendo otros manuales e indicaciones que encontramos en la web.

Mi problema está en que si apago el móvil, mi aplicación deja de ejecutarse, y por lo tanto como despertador es totalmente inútil.

De ahí mi pregunta… ¿Cómo puedo hacer que mi aplicación persista en ejecución (u otro sistema) aunque el teléfono esté apagado y sea capaz de reiniciarlo para sonar la alarma?

No hablo de salir del standby, si no de encender físicamente el terminal… vamos, lo que hace cualquier despertador instalado en el móvil.

Cualquier sugerencia será bienvenida.

Muchas gracias por anticipado a tod@s.

Un saludo

preguntado por NItram Dic 22, 2014 en Android

1 Respuesta

0 votos
Mejor respuesta

Hola Nitram,
no he probado a arrancar el móvil desde una app, y si se puede no creo que lo permita el SDK por seguridad.
De poderse será declarando algún permiso primero que permita el encendido del dispositivo, y no lo veo en la lista: http://developer.android.com/reference/android/Manifest.permission.html
El único que parece permitirlo es el de “REEBOOT”, aunque no lo pueden usar aplicaciones de terceros: http://developer.android.com/reference/android/Manifest.permission.html#REBOOT
De cualquier manera, echa un vistazo en la API en PowerManager http://developer.android.com/reference/android/os/PowerManager.html

respondido por Jarroba [Admin] Dic 22, 2014
Buenas otra vez…

no he sacado nada en claro de todo lo que he leído. Al parecer encender el teléfono no es posible. Por lo tanto, planteo otra pregunta para una posible solución.

Está claro que alguna forma tiene que haber de conseguir algo parecido a lo que pretendo (programar una aplicación despertador) cuando en el play store se pueden descargar este tipo de aplicaciones y (por lo menos una que he probado) sí enciende el móvil y suena a la hora indicada.

La cuestión que planteo ahora es si es posible activar alguna función del teléfono desde código que sí encienda el teléfono a la hora programada y luego mi aplicación detecta el boot completed y comprueba las horas para las que se han configurado las alarmas.

Sería eso posible, activar algún servicio interno del propio sistema del teléfono que sí sea capad de reavivar el teléfono y luego mi aplicación activarse tras ese encendido y chequear las alarmas?

Gracias nuevamente… Un saludo

Con el BroadcastReceiver puedes escuchar el evento de inicio del dispositivo. Tendrías que configura en el AndroidManifest.xml un Receiver como:

<receiver android:name=".detectarInicioSO">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
</receiver>

y luego una clase Java como:

public class detectarInicioSO extends BroadcastReceiver {
    public void onReceive(Context context, Intent int) {
        //Haces lo que necesites
    }
}