Xiaomi no recibe notificación cuando la aplicación no se está ejecutando

Estoy trabajando en una aplicación en la que utilizo Google Push Notification. La aplicación recibe una notificación cuando se está ejecutando en el teléfono Xiaomi de lo contrario, cuando se ha matado no recibe notificación.

Si queremos recibir una notificación si se cancela la aplicación, necesitamos permitir la reinicialización automática de la aplicación manualmente desde la aplicación de seguridad de xiaomi. Quiero cualquier truco para hacer esto mediante programación sin preguntar al usuario. ¿Hay alguna manera de hacer esto?

Introduzca aquí la descripción de la imagen

Http://en.miui.com/thread-33826-1-1.html

Después de MIUI 6 & 7:

El modo de ahorro de energía MIUI está configurado por defecto en "Estándar" (Acceso de fondo a los servicios de ubicación y la red estará restringida)

Dónde establecer:

Ajustes -> Ajustes adicionales -> Batería y rendimiento -> Administrar el uso de la batería de las aplicaciones -> Modos de ahorro de energía -> Establecer en Off (MIUI no restringirá las actividades de fondo)

Hay cinco ajustes que deben hacerse manualmente en caso de xiaomi para ejecutar correctamente cualquier aplicación. He hecho una gran cantidad de investigación sobre esto y no hay forma de corregir estos ajustes mediante programación. Estos son los ajustes:

  1. Inicio automático -> ACTIVADO (Activar y reiniciar la aplicación)
  2. Optimización MIUI bajo Opciones de desarrollador -> OFF
  3. Optimización de memoria bajo Opciones de desarrollador -> BAJA / APAGADA
  4. No hay restricciones sobre las actividades de fondo bajo Configuración de batería y rendimiento
  5. Ahorro de la batería -> OFF

Hay muchos otros dispositivos en los que la configuración manual debe hacerse para que la aplicación funcione como se espera, por ejemplo, Lenovo, algunos dispositivos Micromax. Las empresas imponen este tipo de restricciones sobre las actividades de fondo para mejorar la vida de la batería en general. Algunas aplicaciones como facebook y whatsapp funcionan correctamente ya que podrían haber sido incluidas como aplicaciones de sistema.

En cuanto a mi comprensión una vez que las aplicaciones de borrar o borrar la memoria en el menú de aplicaciones recientes, xiaomi (o MIUI rom) obligará a cerrar todos los servicios y la memoria relacionados con esa aplicación similar al usuario va a la configuración y la fuerza de detener la aplicación,

Este enlace se refiere a la misma cuestión, por lo tanto, todos los receptores de Broadcast y servicios se terminará a menos que iniciado por el usuario de nuevo, por lo que la notificación no será recibido,

Sin embargo, puede intentar activar el inicio automático de los permisos de la aplicación en la configuración y Si aún así no funciona, intente crear un servicio que se reinicie por sí mismo y habilite el inicio automático en la configuración. AutoStart es muy importante en MIUI hasta que se habilite todo La actividad de notificación o aplicación se cerrará con fuerza y ​​nunca se iniciará

Me enfrenté a un problema similar y lo arregló mediante la adición de un receptor BOOT_COMPLETED a mi aplicación.

Añada el siguiente para manifestar:

<receiver android:name=".receivers.BootReceiver" android:enabled="true"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver> 

A continuación, cree su clase BootReceiver

 public class BootReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) { Intent startServiceIntent = new Intent(context, FBTokenService.class); context.startService(startServiceIntent); Intent notificationServiceIntent = new Intent(context, FBNotificationService.class); context.startService(notificationServiceIntent); } } } 

Debería funcionar con esto.

  • Enviar notificación con la apertura de Parse antes de hacer clic en la notificación
  • Cómo utilizar con eficacia XMPP persistente con android
  • Cómo recuperar ID de registro y enviar un mensaje a una aplicación de terceros en android c2dm0 +
  • ¿Por qué es necesario iniciar sesión en Google para que GCM funcione para dispositivos inferiores a 4.0.4?
  • ¿Es posible usar GCM para enviar notificaciones push entre diferentes aplicaciones?
  • El servicio de Intención de GCM OnRegistered no se recibe
  • FCM (Firebase Cloud Messaging) cómo enviar a todos los teléfonos?
  • Número máximo de temas en Google Cloud Messaging
  • Enviar notificación automáticamente desde Firebase
  • GCM Error = MissingRegistration enviando mensajes vía JSON
  • Phonegap PushNotification para abrir una página de aplicación específica
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.