Iniciar el servicio en el arranque, pero no toda la aplicación de Android
Estoy trabajando con Android.
Tengo una aplicación en la que estoy trabajando, utiliza una actividad para configurar valores de entrada de usuario específicos que luego utilizan un servicio para proporcionar alertas basadas en esos valores. Haciendo la investigación determiné cómo podría conseguir que la aplicación comenzara cuando el teléfono arranca, sin embargo, lo que realmente quiero es tener el inicio del servicio pero no tener la carga de la aplicación en la pantalla. Actualmente, la aplicación completa se carga en la pantalla cuando enciendo el dispositivo y luego tengo que salir de él.
- Detener el servicio de fondo Cuando la aplicación va al fondo
- Gran uso de memoria en las notificaciones
- ¿Cómo saber cuántas aplicaciones se ejecutan en segundo plano en android?
- OnServiceConnected nunca llamado después del método bindService
- Servicio de Android: onBind (Intención) y onUnbind (Intención) se llama una sola vez
He descargado programas similares que tienen interfaces para la configuración, pero de lo contrario se ejecutan en el fondo. ¿Cómo se hace eso?
- NsdManager no resuelve varios servicios descubiertos
- IOS equivalente al servicio de Android?
- Cómo ensayar un servicio de Android que depende de una conexión de red
- Ejemplo de servicio bind / unbind (android)
- Android: uso de la red en un servicio
- Adquisición de instancia del servicio de fondo
- Cómo enlazar una actividad a un servicio y controlar y administrar el servicio desde la actividad
- ¿Cómo mantener un servicio con los oyentes vivo después de desatar en Android?
Primero tienes que crear un receptor:
public class BootCompletedReceiver extends BroadcastReceiver { final static String TAG = "BootCompletedReceiver"; @Override public void onReceive(Context context, Intent arg1) { Log.w(TAG, "starting service..."); context.startService(new Intent(context, YourService.class)); } }
A continuación, añada permiso a su AndroidManifest.xml:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
Y el receptor de la intención del registro:
<receiver android:name=".BootCompletedReceiver" > <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver>
Una vez hecho esto, su aplicación (clase de Application
) se ejecutará junto con los servicios, pero no las actividades.
Ah, y no ponga su aplicación en la tarjeta SD (APP2SD o algo así), porque tiene que residir en la memoria principal para estar disponible justo después de que el arranque se ha completado.