android - reseteo - resetear xiaomi redmi 3
El receptor de reinicio no funciona en los teléfonos xiaomi (9)
Agregue esto en su archivo de manifiesto en el filtro de intención
<action android:name="android.intent.action.BOOT_COMPLETED" />
Hola, estamos trabajando en una aplicación de Android en la que estamos utilizando el receptor de reinicio en el que estoy iniciando algunos servicios en los que estoy realizando algunas operaciones de red.
Me di cuenta de que en algunos dispositivos Android como xiaomi, etc, el reinicio del receptor no funciona.
Anteriormente tuve que saber que en los dispositivos HTC tampoco funciona, así que le agregué un filtro más de intención <action android:name="android.intent.action.QUICKBOOT_POWERON" />
luego comenzó a funcionar bien. Ahora otros teléfonos como xiaomi todavía no funcionan.
Lo que tengo que configurar adicionalmente para que funcione bien en todos los dispositivos sin pedirle al usuario que actualice la configuración manualmente.
<receiver
android:name="com.xyz.broadcastreceiver.ServiceStarter"
android:exported="true" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
</intent-filter>
</receiver>
Gracias por adelantado.
Deberías ver here . En los dispositivos Xiaomi, bloquean algunos permisos incluso si lo necesita. La única forma de hacerlo es permitir que su aplicación otorgue este permiso manualmente.
Estaba sugiriendo agregar android: enabled = "true" pero ya estaba disponible.
Así que puedo decirle que primero debe asegurarse de que el receptor se haya registrado correctamente o no. También puede probar la otra versión de registrarlo, es decir, realizar el registro programáticamente (preferiblemente en onPause () & onResume ()) y ver si está recibiendo el mensaje de difusión o no.
Hay una función interna de MIUI que evita que las aplicaciones se reinicien para ahorrar batería y RAM. Tiene que activar manualmente la opción de inicio automático para recibir la emisión de BOOT_COMPLETED . Vaya a Configuración> Aplicaciones instaladas> Su aplicación . Luego simplemente alternar en la opción de inicio automático. No hay opción para evitar esto mediante programación. En su lugar, puede informar a los usuarios de su aplicación si tienen problemas al usarla (por ejemplo: La alarma no se dispara correctamente), pueden habilitar el inicio automático desde la configuración.
Intente agregar la categoría android.intent.category.DEFAULT
. Es obligatorio para los intentos implícitos, pero tal vez se esté modificando por alguna razón en los teléfonos Xiaomi y la intención no es pasar una de las tests a ser recibida por su aplicación.
Los teléfonos Xiaomi que ejecutan MIUI tienen un bloqueador de aplicaciones de inicio incorporado. Tal vez eso está interfiriendo con su receptor de arranque.
Necesitas agregar
android:enabled="true"
y
android:exported="true"
exportado puede ser falso, pero es necesario incluir exportado.
Creo que es un problema con la ROM Xiaomi.eu, probada con la versión dev, utilicé la versión Beta 7.4 de MIUI 6.5.19 en un Xiaomi Redmi Note 2 Prime. No he comprobado con la versión estable que no se puede descargar en este momento para el mantenimiento del servidor. El receptor de difusión no funciona en el arranque.
Probe la misma aplicación en un Xiaomi Mi 4 con Xiaomi Global ROM estable, MIUI 7.1.2, funcionó perfectamente después de activar el inicio automático en el administrador. Reinicie y funcionó perfectamente el receptor de radiodifusión y los permisos requeridos.
Ahora, probé con Xiaomi.EU 7.3 estable, MIUI 7.3.2, el receptor Broadcast funciona bien en el arranque y reinicio. Registré mi receptor con inicio automático en el administrador de seguridad, no funciona en la versión de desarrollo de ROM. No he probado con Xiaomi Official ROM Global dev.
Mis permisos:
<receiver android:name=".service.BootBroadcastReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.QUICKBOOT_POWERON" />
<action android:name="android.intent.action.REBOOT"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
Ok, vamos a intentarlo de nuevo. MIUI tiene una aplicación de seguridad incorporada. En la aplicación de Seguridad hay una sección de ''Inicio'', donde el usuario puede configurar qué aplicación puede y qué aplicación no puede ejecutarse en el inicio. Su aplicación está deshabilitada por defecto. Además, si examinas tu Logcat, puedes ver un mensaje de "permiso denegado" en el inicio. Coloque su aplicación manualmente en las aplicaciones de la lista blanca, desafortunadamente, eso es lo que sus usuarios solo pueden hacer.
Xiomi ha reportado un error por solo usar este receptor 5 minutos después del sistema
en realidad arranque
http://xiaomi.eu/community/threads/alarmmanager-_wakeup-problem.21430/
Puedes probar y agregar el -
android: enabled = "true" y android: export = = true "
a pesar de que deberían configurarse en verdadero de forma predeterminada debido a los cambios del sistema del fabricante
podría ser diferente en el sistema operativo personalizado de Android Xiomi.
Solo pon atención a su significado.
Desde el androide: exportado = "verdadero"
Permitirá que otras aplicaciones accedan a su receptor.