segundo plano para ejecutar desactivar cerrar automaticamente app aplicaciones activar android

para - ¿Cómo hacer que una aplicación de Android se ejecute siempre en segundo plano?



desactivar aplicaciones en segundo plano windows 10 (2)

Debe iniciar un servicio en su clase de Aplicación para ejecutarlo siempre. Si haces eso, tu servicio estará siempre en ejecución. Aunque el usuario termina su aplicación desde el administrador de tareas o fuerza la detención de su aplicación, comenzará a ejecutarse nuevamente.

Crea un servicio:

public class YourService extends Service { @Nullable @Override public IBinder onBind(Intent intent) { return null; } @Override public int onStartCommand(Intent intent, int flags, int startId) { // do your jobs here return super.onStartCommand(intent, flags, startId); } }

Cree una clase de aplicación e inicie su servicio:

public class App extends Application { @Override public void onCreate() { super.onCreate(); startService(new Intent(this, YourService.class)); } }

Agregue el atributo "nombre" en la etiqueta "aplicación" de su AndroidManifest.xml

android:name=".App"

Además, no olvide agregar su servicio en la etiqueta de "aplicación" de su AndroidManifest.xml

<service android:name=".YourService"/>

Y también esta solicitud de permiso en la etiqueta "manifiesto" (si el nivel de API 28 o superior):

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

ACTUALIZAR

Después de Android Oreo, Google introdujo algunas limitaciones de fondo. Por lo tanto, esta solución anterior no funcionará probablemente. Cuando un usuario mata su aplicación desde el administrador de tareas, el sistema Android también matará su servicio. Si desea ejecutar un servicio que siempre está activo en segundo plano. Debe ejecutar un servicio en primer plano con una notificación continua. Por lo tanto, edite su servicio como a continuación.

public class YourService extends Service { private static final int NOTIF_ID = 1; private static final String NOTIF_CHANNEL_ID = "Channel_Id"; @Nullable @Override public IBinder onBind(Intent intent) { return null; } @Override public int onStartCommand(Intent intent, int flags, int startId){ // do your jobs here startForeground(); return super.onStartCommand(intent, flags, startId); } private void startForeground() { Intent notificationIntent = new Intent(this, MainActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); startForeground(NOTIF_ID, new NotificationCompat.Builder(this, NOTIF_CHANNEL_ID) // don''t forget create a notification channel first .setOngoing(true) .setSmallIcon(R.drawable.ic_notification) .setContentTitle(getString(R.string.app_name)) .setContentText("Service is running background") .setContentIntent(pendingIntent) .build()); } }

Estoy usando un dispositivo Android. Cuando abro Configuración> Aplicaciones> Ejecución, hay una opción en la parte superior izquierda de la pantalla para ver: (1) Procesos en ejecución (2) Procesos en segundo plano en caché. Y la (s) aplicación (es) que quería ejecutar siempre (24 × 7) se enumeran desafortunadamente en (2) Procesos en segundo plano en caché, que quería que se enumeren en (1) Procesos en ejecución (si es posible) ) Se puede hacer? O, en resumen, ¿cómo hacer que una aplicación de Android se ejecute siempre en segundo plano?

Espero haber transmitido la pregunta :-)


En algunos teléfonos móviles como el mío (MIUI Redmi 3), simplemente puede agregar una aplicación específica en la lista donde la aplicación no se detiene cuando finaliza las aplicaciones en el Administrador de tareas (se detendrá pero comenzará de nuevo)

Simplemente vaya a Configuración> PermisosAutoinicio