Tengo un Huawei P8 con Android 5.0 que estoy usando para probar una aplicación. La aplicación debe ejecutarse en segundo plano, ya que rastrea las regiones BLE.
Descubrí que Huawei ha incorporado una "función" llamada Aplicaciones protegidas, a la que se puede acceder desde la configuración del teléfono (Administrador de batería> Aplicaciones protegidas). Esto permite que las aplicaciones elegidas sigan ejecutándose después de apagar la pantalla.
Sensiblemente para Huawei, pero desafortunadamente para mí, parece que está habilitado, es decir, las aplicaciones están cerradas de forma predeterminada, y tienes que ponerlas manualmente. Esto no es un espectáculo, ya que puedo aconsejar a los usuarios en un FAQ o impreso documentación sobre la solución, pero recientemente instalé Tinder (¡con fines de investigación!), y noté que se incluyó automáticamente en la lista protegida.
¿Alguien sabe cómo puedo hacer esto para mi aplicación? ¿Es un escenario en el manifiesto? ¿Es algo que Huawei ha habilitado para Tinder porque es una aplicación popular?
fuente
Respuestas:
fuente
ComponentName("com.asus.mobilemanager","com.asus.mobilemanager.autostart.AutoStartActivity"));
sp.edit().putBoolean("protected",true).commit();
ya que entiendo que ahí es donde está cambiando el valor a derecho protegido?No hay una configuración en el manifiesto, y Huawei ha habilitado Tinder porque es una aplicación popular. No hay forma de saber si las aplicaciones están protegidas.
De todas formas he usado
ifHuaweiAlert()
enonCreate()
mostrar unaAlertDialog
:fuente
+1 para Pierre por su gran solución que funciona para múltiples fabricantes de dispositivos (Huawei, asus, oppo ...).
Quería usar su código en mi aplicación de Android que está en Java. Inspiré mi código de las respuestas de Pierre y Aiuspaktyn .
}
Agregue los siguientes permisos en su
Android.Manifest
Espero que esto ayude a alguien.
fuente
Solución para todos los dispositivos (Xamarin.Android)
Uso:
Agregue los siguientes permisos en su
Android.Manifest
Para ayudar a encontrar la actividad del dispositivo que no aparece en esta lista, simplemente use el siguiente método para ayudar a encontrar la actividad correcta para abrir para el usuario
C#
Java
Ejecutar en el arranque y la búsqueda a través del archivo de registro, añadir un filtro en Logcat
TAG
debrand.activities
Salida de muestra:
Entonces el nombre del componente será:
Si la actividad tiene un permiso al lado,
Android.Manifest
se requiere la siguiente entrada en el para abrir la actividad:Comente o edite el nuevo componente en esta respuesta. Toda la ayuda me será muy apreciada.
fuente
Estoy usando la solución @Aiuspaktyn, a la que le falta la parte de cómo detectar cuándo dejar de mostrar el cuadro de diálogo después de que el usuario configure la aplicación como protegida. Estoy usando un Servicio para verificar si la aplicación fue cancelada o no, verificando si existe.
fuente
Puede usar esta biblioteca para navegar al usuario a aplicaciones protegidas o inicio automático:
AutoStarter
Si el teléfono admite la función de inicio automático, puede mostrarle al usuario una pista para habilitar su aplicación en estas aplicaciones
Puede verificar por este método:
Y para navegar al usuario a esa página, simplemente llame a esto:
fuente
PowerMaster -> AutoStart -> Encuentra tu aplicación en la sección bloqueada y permite
fuente