Push notification android设备的GCM推送通知在MI和Letv手机上不起作用

Push notification android设备的GCM推送通知在MI和Letv手机上不起作用,push-notification,Push Notification,我们面临着向所有android设备发送GCM推送通知的问题。我们正在爱奥尼亚平台上开发一个应用程序,并使用名为cordova push的插件进行推送通知。设备正在向gcm注册并接收设备令牌。我正在使用3台设备测试MOTOG4Plus、MI4和Letv 问题是,当应用程序被终止时,推送通知会到达moto g4 plus设备,但不会到达MI和Letv设备。MI和Letv设备也只有在应用程序位于前台或后台时才会收到通知 我从gcm处收到交付收据,并将其交付给应用程序案例中的所有设备 请提出一些解决这个

我们面临着向所有android设备发送GCM推送通知的问题。我们正在爱奥尼亚平台上开发一个应用程序,并使用名为cordova push的插件进行推送通知。设备正在向gcm注册并接收设备令牌。我正在使用3台设备测试MOTOG4Plus、MI4和Letv

问题是,当应用程序被终止时,推送通知会到达moto g4 plus设备,但不会到达MI和Letv设备。MI和Letv设备也只有在应用程序位于前台或后台时才会收到通知

我从gcm处收到交付收据,并将其交付给应用程序案例中的所有设备

请提出一些解决这个问题的办法。多谢各位

我也面临这个问题 我有小米手机,需要“Autostart许可”才能在应用程序被终止时接收FCM通知,您需要将您的应用程序移动到此列表中

对于小米设备,您可以向用户请求此权限


至于乐视移动,我还没有检查。如果你已经解决了,请告诉我。

我们给小米的一位非常资深的人写信。他回复说,他们手动将一些应用程序列入白名单,其余的默认情况下不允许访问notifications文件夹。这就是答案。“这通常是因为可以访问notifications文件夹的应用程序被列入白名单。这是一项功能,可确保用户免受垃圾邮件的影响,也有助于确保RAM/电池使用优化。”我们询问了将应用程序列入白名单的过程,但没有得到回复。@shyam你能给我客户支持邮件吗?这样我就可以得到他们的确认,并能够说服我的客户。
    String xiaomi = "Xiaomi";
    final String CALC_PACKAGE_NAME = "com.miui.securitycenter";
    final String CALC_PACKAGE_ACITIVITY = "com.miui.permcenter.autostart.AutoStartManagementActivity";
    if (deviceManufacturer.equalsIgnoreCase(xiaomi)) {
        DisplayUtils.showDialog(activity, "Ask for permission", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {
                try {
                    Intent intent = new Intent();
                    intent.setComponent(new ComponentName(CALC_PACKAGE_NAME, CALC_PACKAGE_ACITIVITY));
                    activity.startActivity(intent);
                } catch (ActivityNotFoundException e) {
                    Logger.e(TAG, "Failed to launch AutoStart Screen ", e);
                } catch (Exception e) {
                    Logger.e(TAG, "Failed to launch AutoStart Screen ", e);
                }
            }
        }, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialogInterface, int i) {

            }
        });
    }