1 votos

Las aplicaciones no se iniciarán automáticamente en Android 9.0 Pie

Compré un Blackview BV5900 barato que funciona con Android 9.0 (supongo que es una ROM personalizada) ya que necesitaba algo resistente y con una larga duración de batería para propósitos de prueba. Estoy teniendo dificultades para encontrar respuestas sobre por qué las aplicaciones no se inician automáticamente cuando se supone que deberían. La aplicación en cuestión es principalmente Grandstream Wave - Video que es efectivamente un cliente SIP. Se inicia automáticamente muy bien en un viejo Samsung Galaxy V6.

He probado varias aplicaciones de autoinicio para ver si podía solucionarlo, pero parece que tampoco se cargan al iniciar, por lo que no realizan la tarea que se supone que deben realizar. He estado en contacto con el fabricante y su respuesta es que simplemente no lo hará.

Como es un teléfono de prueba, estoy bastante contento de hacerle root, aunque soy completamente nuevo en Android, estoy seguro de que encontraré suficiente información para empezar con un poco de búsqueda en Google.

Lo que estoy buscando es un poco de ayuda sobre qué buscar y cómo encontrarlo. Por lo que he entendido, la aplicación está buscando un mensaje BOOT_COMPLETE de algún tipo, ¿así que supongo que está deshabilitado en algún lugar? Cualquier respuesta, por favor, suponga que no sé nada, estarás en lo correcto.

EDICIÓN 11May2020

Intenté el comando de shell como se solicitó aquí - sin éxito. Resultado del shell a continuación. No estoy seguro de si esto significa que no tengo suficientes privilegios para ejecutarlo o si está deshabilitado de alguna manera.

Transmitiendo: Intento { act=android.intent.action.BOOT_COMPLETED flg=0x400000 pkg=com.grandstream.wave }
Excepción de seguridad: Denegación de permisos: no se permite enviar la transmisión android.intent.action.BOOT_COMPLETED desde pid=5834, uid=2000

java.lang.SecurityException: Denegación de permisos: no se permite enviar la transmisión android.intent.action.BOOT_COMPLETED desde pid=5834, uid=2000
    en com.android.server.am.ActivityManagerService.broadcastIntentLocked(ActivityManagerService.java:21774)
    en com.android.server.am.ActivityManagerService.broadcastIntent(ActivityManagerService.java:22411)
    en com.android.server.am.ActivityManagerShellCommand.runSendBroadcast(ActivityManagerShellCommand.java:690)
    en com.android.server.am.ActivityManagerShellCommand.onCommand(ActivityManagerShellCommand.java:174)
    en android.os.ShellCommand.exec(ShellCommand.java:103)
    en com.android.server.am.ActivityManagerService.onShellCommand(ActivityManagerService.java:16434)
    en android.os.Binder.shellCommand(Binder.java:634) en android.os.Binder.onTransact(Binder.java:532)
    en android.app.IActivityManager$Stub.onTransact(IActivityManager.java:3551)
    en com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:3397)
    en android.os.Binder.execTransact(Binder.java:731)

0 votos

BOOT_COMPLETED no es lo único necesario para que una aplicación se ejecute en segundo plano. Puede ayudar: Deshabilitar el inicio automático en el arranque y restringir la ejecución en segundo plano

1 votos

Respuesta a EDIT 11May2020: ACTION_BOOT_COMPLETED “es un intento protegido que solo puede ser enviado por el sistema.”: developer.android.com/reference/android/content/…. Así que necesitas acceso root.

0voto

Hephestaclyse Puntos 1

Hay algunas opiniones expresadas en las que parecen ser inflexibles, con el argumento de que si buscas información, dicen que no importa lo que pase, no pongas hielo y algunas otras cosas. Detén forzosamente la gestión de datos.

0voto

Lakindu Puntos 16

Esto no sería una respuesta completa a tu problema. Pero si sospechas que la emisión BOOT_COMPLETED está desactivada por algún motivo, puedes intentar enviarla manualmente usando adb shell y ver si tu aplicación arranca.

Es mejor enviar la emisión directamente a tu aplicación especificando su nombre de paquete. Si no conoces el nombre de paquete de tu aplicación, primero necesitas encontrarlo. Para obtener una lista de todos los paquetes instalados en tu dispositivo, puedes usar el siguiente comando.

$ adb shell pm list packages

Después de encontrar el nombre de paquete de tu aplicación en la salida del comando anterior, puedes usar el siguiente comando para enviar la emisión a tu aplicación y ver si arranca después de recibirla.

$ adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -p 

En el comando anterior reemplaza con el nombre de paquete de tu aplicación.

0 votos

Gracias, intentaré el shell más tarde en la semana cuando tenga algo de tiempo y publicaré los resultados aquí.

0 votos

Parece que no tienes permiso para enviar la transmisión BOOT_COMPLETED a través de adb shell. Por favor, verifica si puedes ejecutar este comando y obtener acceso root a través de adb shell: adb root como se menciona aquí. Si puedes obtener acceso root, podrás enviar la transmisión.

0 votos

Gracias, estoy bastante seguro de que no tengo acceso de root, pero revisaré.

0voto

Este problema se debe al hecho de que en todos los firmware de todos los teléfonos inteligentes, la aplicación de autorun está desactivada

Este problema se resuelve muy fácilmente con acceso de root. Solo necesitas arreglar una línea en el archivo /system/build.prop:

  • ro.freeme_freemanager=1
  • ro.hct_autostart_manager=1

En estas líneas necesitas cambiar 1 a 0. Puedes editar el archivo /system/build.prop con Total Commander o cualquier otro programa.

Probado con éxito en BV5900

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X