Cómo congelar los procesos en segundo plano de cualquier aplicación sin root en Android 7.0+

Android siempre se ha considerado la plataforma móvil más "poderosa" en comparación con iOS debido a la libertad que tienen sus aplicaciones de terceros. Esto permite que se produzca mucha automatización simplemente porque las aplicaciones de Android pueden realizar más tareas mientras se ejecutan en segundo plano. Sin embargo, esto tiene un inconveniente, ya que abre la puerta para una mayor pérdida de batería gracias a los procesos en segundo plano que se ejecutan en el dispositivo.

Una cosa es saber que está cargando su teléfono con aplicaciones que se ejecutan en segundo plano, ya que está dispuesto a sacrificar parte de la duración de la batería por los beneficios que brindan. Es una historia diferente si solo estás descargando aplicaciones tradicionales que no están optimizadas y que realizan tareas en segundo plano cuando no quieres o incluso las necesitas. Google ha estado trabajando para solucionar esto al imponer cada vez más restricciones sobre lo que las aplicaciones pueden hacer en segundo plano, y el lanzamiento de Android O trae la mayor cantidad de restricciones de proceso / receptor en segundo plano.

Sin embargo, la gran mayoría de los usuarios no verán Android O en sus dispositivos durante muchos meses a partir de ahora (si es que lo hacen). Pero si está ejecutando Android 7.0 o Android 7.1, hay un truco simple que puede hacer para evitar manualmente que una aplicación se ejecute en segundo plano, y no requiere root o una aplicación de terceros . Esto es más poderoso que lo que ofrecen Greenify o aplicaciones como Brevent, ya que sin acceso a la raíz esas aplicaciones son bastante limitadas en lo que pueden hacer. Pero con este truco, ahora puede bloquear aplicaciones como Facebook o Hangouts para que nunca se ejecuten en segundo plano: ¡solo funcionarán cuando se usen activamente!


Tutorial Restringir procesos en segundo plano

Requisitos:

  • Dispositivo Android Nougat (7.0 o 7.1)
  1. Instale los controladores USB para el OEM de su dispositivo en particular (Google proporciona una lista de algunos controladores USB universales aquí).
  2. Descargue el binario ADB para su sistema operativo particular (Windows, Mac, Linux). Estos enlaces siempre apuntarán a la última versión del binario.
  3. Extraiga el contenido del archivo ZIP en una carpeta de fácil acceso en su PC.
  4. Vaya a la aplicación Configuración en su teléfono y toque la opción Acerca del teléfono.
  5. Encuentra el número de compilación y tócalo 7 veces para habilitar el modo de desarrollador.
  6. Vuelva al menú principal de Configuración e ingrese Opciones de desarrollador para que pueda habilitar el Modo de depuración USB.

  7. Conecte su teléfono a la computadora y cámbielo del modo "solo carga" al modo "transferencia de archivos (MTP)". Esto no es necesario en todos los dispositivos, pero muchos dispositivos lo requieren como medida de seguridad antes de permitir que ADB funcione.
  8. Regrese a la PC y busque el directorio donde extrajo el binario ADB.

  9. Inicie un símbolo del sistema o terminal en su directorio ADB. Para los usuarios de Windows, esto se puede hacer manteniendo presionada la tecla Mayús y haciendo clic derecho y luego seleccionando la opción "abrir símbolo del sistema aquí". (Algunos usuarios de Windows 10 pueden ver "símbolo del sistema" reemplazado por "PowerShell").

  10. Una vez que esté en el símbolo del sistema o el entorno de Terminal, ingrese el siguiente comando: adb devices
  11. Esto iniciará el demonio ADB si aún no se ha lanzado, solo espera a que termine. Si es la primera vez que ejecuta ADB, también verá un mensaje en su teléfono pidiéndole que autorice una conexión con la computadora. Permita el acceso de depuración USB aquí.

  12. Ahora, si vuelve a ejecutar el comando de dispositivos adb desde el paso 10, el símbolo del sistema / terminal imprimirá el número de serie de su dispositivo. Si es así, entonces estás listo para seguir adelante. De lo contrario, es probable que los controladores USB no estén instalados correctamente.
  13. Luego deberá encontrar el nombre del paquete para la aplicación que desea congelar procesos en segundo plano. Puede hacerlo instalando la aplicación App Inspector en su teléfono.

    Paso 1: toca "Lista de aplicaciones"

    Paso 2: Encuentra la aplicación que quieres que desaparezca. (por ejemplo, "Brújula")

    Paso 3: busque el nombre del paquete debajo del nombre de la aplicación (por ejemplo, "com.huawei.compass")

  14. Regrese al símbolo del sistema e ingrese el siguiente comando: adb shell
  15. Ahora ejecute el siguiente comando para liberar los procesos en segundo plano de una aplicación: cmd appops set RUN_IN_BACKGROUND ignore

  16. Si alguna vez desea revertir el cambio que acaba de hacer y permitir nuevamente los procesos en segundo plano de una aplicación, ingrese este comando: cmd appops set RUN_IN_BACKGROUND allow

  17. Sabrá que funciona si lo lleva de regreso a otro indicador de shell ADB y no le da un mensaje de error.

Explicación

Cómo funciona exactamente este comando es que le permite restringir un permiso oculto que normalmente no es accesible para el usuario en la aplicación Configuración. Este permiso se llama permiso RUN_IN_BACKGROUND y la única forma de modificarlo es mediante el uso de "cmd appops", que es la interfaz de línea de comandos para "App Ops", el sistema de gestión de permisos orientado al usuario de Google.

Google agregó este comando ADB oculto que le permite restringir cualquier aplicación de recibir intenciones de transmisión implícitas (es decir, la aplicación que se activa en segundo plano) y también evita que esas aplicaciones programen servicios en segundo plano sin usar JobScheduler (es decir, la aplicación se despierta en un tiempo inoportuno, agotando la batería). Este comando en realidad está destinado a ser utilizado solo por desarrolladores que buscan simular cómo funcionaría su aplicación en condiciones de poca memoria, pero afortunadamente podemos ponerla a nuestro propio uso.

Al eliminar las dependencias de los servicios en segundo plano de una aplicación y los receptores de transmisión implícitos registrados en el manifiesto, los desarrolladores pueden optimizar su aplicación para que funcione mejor en dispositivos con poca memoria. Google dice que las aplicaciones optimizadas para este tipo de dispositivos, o las que se encuentran en condiciones de poca memoria, pueden mejorar tanto el rendimiento como la experiencia del usuario. En Google I / O este año, la compañía anunció una versión modificada de Android llamada Android Go, que se usará para teléfonos inteligentes con muy poca memoria, por lo que suponemos que este comando sería útil para los desarrolladores que apuntan a esa plataforma.

En cualquier caso, este comando puede ser bastante útil para el usuario promedio, pero tenga cuidado con lo que restringe aquí. Las aplicaciones como Hangouts o Facebook dejarán de sincronizarse completamente en segundo plano hasta que las abra, lo que si esto es a lo que apunta, entonces estoy seguro de que no le importará. Pero no se sorprenda cuando sus correos electrónicos o mensajes se retrasen si ejecuta este comando en una aplicación que depende de receptores en segundo plano.