当前位置: 首页 > 知识库问答 >
问题:

Android设备的GCM推送通知在MI和乐视手机上不起作用

奚才良
2023-03-14

我们面临的问题是向所有android设备发送GCM推送通知。我们正在Ionic平台上开发一个应用程序,并使用名为cordova push的插件来推送通知。设备正在向gcm注册并接收设备令牌。我在用3台设备测试Moto g4 plus,MI4,乐视。

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

我也收到了gcm发送给app killed案例中所有设备的发货收据。

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

共有1个答案

吴举
2023-03-14

我也遇到了这个问题,我有小米手机,需要“自动启动权限”来接收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) {

            }
        });
    }

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

 类似资料:
  • 我们用FCM创建了一个带有通知的聊天应用程序,我的代码是正确的,我的设备也得到了推送通知数据,但一些中国制造的设备,如vivo、oppo、一加、小米,不允许通知显示,除非我在各自厂商的受保护的应用程序列表中添加应用程序。他们有没有办法解决这个问题。 https://hackernoon.com/notifications-in-android-are-horribly-broken-b8dbec6

  • 问题内容: 我正在关注http://javapapers.com/android/google-cloud-messaging-gcm-for-android- and-push-notifications/ 吗?通过GCM发送推送通知。一切正常,但是,我只能将推送通知发送到一台设备。注册另一台设备将替换先前设备的注册ID。我在http://javapapers.com/android/andro

  • 目前,为了在android操作系统上向android应用程序推送通知,该应用程序似乎需要集成Google Cloud Messaging(GCM)API。App服务器目前通过GCM推送数据,GCM将推送数据到特定设备。 这是一个很傻的问题,但我在想,在这个过程中是否有可能取代GCM?换句话说,有没有可能有一个替代服务器,而不是GCM?其动机是向GCM服务器隐藏数据。

  • 我无法在iOS设备上进行测试

  • 我有一个包含用户名数据库的服务器。我还有一个Android应用程序,用户可以在服务器数据库中注册自己的用户名,也可以在服务器的GCM部分注册设备。 我目前正在服务器代码中使用GCM演示,它将多播一个推送通知到每个注册的设备。但是,我希望它能够将推送通知发送给某些用户,而不是每个注册的GCM设备。 我的第一个想法是将数据库中的每个用户与其GCM注册表关联起来。这样行吗?我读过一些关于regID更改或

  • 我正在尝试使用GCM推送通知。我的设备已注册到服务器,并且我还创建了设备注册id。但当我试图从服务器发送消息时,消息不会到达已注册的设备。谁能帮帮我吗? 我的主要activity 软件包COM.ATI.GCM; 导入com.google.android.gcm.gcmRegistratar; 导入Android.os.AsyncTask; 导入Android.os.bundle; 导入androi