用于Android设备的GCM推送通知不适用于MI和Letv手机

Shy*_*yam 10 push-notification

我们在向所有Android设备发送GCM推送通知时遇到了问题.我们正在Ionic平台上开发一个应用程序,并使用名为cordova push的插件进行推送通知.设备正在使用gcm和接收设备令牌进行注册.我正在使用3个设备来测试Moto g4 plus,MI4和Letv.

问题是推送通知正在到达moto g4 plus设备,但在应用程序被杀时不会到达MI和Letv设备.仅当应用程序位于前台或后台时,MI和Letv设备才会收到通知.

我收到了来自gcm的送货收据,交付给app杀死案件中的所有设备.

请提出一些解决方案来解决这个问题.谢谢.

har*_*850 5

我也遇到了这个问题我的小米手机需要“自动启动权限”才能在应用程序被杀死时接收FCM通知,您需要将您的应用程序移到此列表中。

对于小米设备,您可以向用户请求此权限 在此处查看答案

    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) {

            }
        });
    }
Run Code Online (Sandbox Code Playgroud)

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

  • 我们写信给小米的一位非常资深的人。他恢复说,他们手动将一些应用程序列入白名单,而其余应用程序默认情况下不允许访问通知文件夹。这就是回应。“这种情况通常是由于可以访问通知文件夹的应用程序被列入白名单而发生的。这是一项确保用户免受垃圾邮件侵害的功能,并且还有助于确保 RAM/电池使用优化。” 我们询问将应用程序列入白名单的流程是什么,但没有得到答复。 (7认同)