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

时间:2016-11-26 01:36:22

标签: push-notification

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

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

我收到了来自gcm的送货收据,这些收据已经发送到app杀死案件中的所有设备。

请提出一些解决方法来解决这个问题。谢谢。

1 个答案:

答案 0 :(得分:2)

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

对于小米设备,您可以要求用户获得此权限 Check the answer here

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

            }
        });
    }

至于Letv mobile我没有检查过。如果你已经解决了它,请告诉我。