Encuentre una lista de todas las aplicaciones que se inician en el momento del arranque

Estoy usando Android 5.1.1 (EDIT: 6.0.1 ahora) en un Samsung J7. Quiero obtener una lista de aplicaciones que se inician en el momento del arranque 1 .

¿Cuáles son las formas alternativas claras de identificar dicha lista? (preferiblemente nativo de Android)

No pude encontrar nada nativo. Encontré otras opciones/publicaciones, pero no estoy seguro de cuán seguros estaban los carteles sobre los métodos, con información contradictoria, por lo que pregunto explícitamente:

  1. Esta respuesta ofrece el Asistente de Android como una opción. Lo instalé y verifiqué Supervisión -> Administrador de inicio. Muestra dos pestañas ( Usuario , Sistema ) con listas de aplicaciones 2 . Las dos listas suman 41+83=124 aplicaciones. AirDroid , AlarmReceiver (no pude identificar esta aplicación) y Maps.Me están en la primera lista, por ejemplo, no se menciona ningún permiso. Esto haría el trabajo.

  2. Esta respuesta sugiere verificar la lista de aplicaciones que tienen el permiso RECEIVE_BOOT_COMPLETED , entre la lista de 138 permisos . Esto enumeraría las aplicaciones que pueden iniciarse al inicio (¿aunque no necesariamente hacerlo?). Permiso Explorer muestra 151 aplicaciones con este permiso. aSpotCat muestra 68 aplicaciones con este permiso. App Permission Watcher muestra 48 aplicaciones que pueden "ejecutarse al inicio" sin citar específicamente el nombre del permiso; por ejemplo, esto no incluye Skype, que aparece en los otros dos. Esto podría estar verificando las aplicaciones de usuario, pero luego 48<>41, y AirDroid o Maps.Me no están aquí. Aplicaciones amigables con permisostambién muestra 48 aplicaciones que pueden ejecutarse al inicio 3 ; no incluye Skype.

Entonces, en este punto, no sé cuál es una forma segura y qué está comprobando cada aplicación...


1 En este punto, no pretendo modificar la lista de inicio, sino solo verificarla.

2 Además, hay una casilla de verificación para cada aplicación para seleccionar elementos para matar al inicio .

3 No verifiqué si estos son todos iguales a App Permission Watcher.

Podría usar ADB para enumerar los receptores activos. No se trata solo de las aplicaciones que tienen el BOOT_COMPLETEDpermiso otorgado, sino de aquellas que han establecido un oyente para el evento con el mismo nombre. Algo similar a adb shell "dumpsys package" | grep enabledComponents(solo un ejemplo, no un script que haría exactamente el trabajo que buscas; eso tendría que ser un poco más sofisticado :)

Respuestas (2)

En Android 7+, puedes hacer:

~$ pm query-receivers --components -a android.intent.action.BOOT_COMPLETED

O:

~$ dumpsys package resolvers receiver | awk '/android.intent.action.BOOT_COMPLETED/{p=1;next}/:/{p=0}p {print $2}'

Relacionado: deshabilitar el inicio automático en el arranque

Abra la memoria en su configuración y luego seleccione Aplicación iniciada en el arranque

Ajustes

No existe tal opción en mi stock Android Marshmallow (Nexus 6). Mencione el nombre de su dispositivo y la versión de Android.
Uno más uno. Sistema operativo Android N 7.1.1 Linage