应用程序未运行时小米收不到通知

问题描述 投票:0回答:4

我正在开发一个使用 Google 推送通知的应用程序。该应用程序在小米手机中运行时会收到通知。否则,当它被杀死时,它不会收到通知。

如果我们想在应用程序被终止时收到通知,那么我们需要从小米的安全应用程序手动允许自动重启应用程序。我想要任何技巧来以编程方式执行此操作,而无需询问用户。有办法做到这一点吗?

Enter image description here

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

android push-notification google-cloud-messaging
4个回答
13
投票

来自 https://www.cricketbuddies.com/cricket/world-cricket-championship-2/guides/wcc2-guides,“游戏通知修复”部分:

有五项设置需要手动完成,以防出现以下情况: xiaomi 正确运行任何应用程序。我做了很多研究 对此,无法以编程方式修复这些设置。 这些是设置:

  1. 自动启动 -> 打开(切换并重新启动您的应用程序)
  2. 开发者选项下的MIUI优化->关闭
  3. 开发者选项下的内存优化 -> 低/关
  4. 电池和性能设置下对后台活动没有限制
  5. 省电模式 -> 关闭

还有很多其他设备需要手动设置 完成以便应用程序按预期工作,例如联想、一些 微型最大设备。公司施加此类限制 后台活动可提高整体电池寿命。一些应用程序 像 Facebook 和 Whatsapp 一样可以正常工作 包含为系统应用程序。


6
投票

MIUI 6 & 7 之后:

MIUI省电模式默认设置为“标准”(后台访问位置服务和网络将受到限制)

设置地点:

设置 -> 其他设置 -> 电池和性能 -> 管理应用程序电池使用情况 -> 省电模式 -> 设置为关闭(MIUI 不会限制后台活动)


3
投票

据我了解,一旦您在最近的应用程序菜单中清除应用程序或清除内存,小米(或MIUI ROM)将强制关闭与该应用程序相关的所有服务和内存,类似于用户进入设置和强制停止应用程序。

此链接讨论了同样的问题,因此除非用户再次启动,否则所有广播接收器和服务都将被终止,因此将不会收到通知。

但是,您可以尝试在设置中为应用程序权限启用自动启动,并且如果仍然不起作用,请尝试创建一个自行重新启动的服务并在设置中启用自动启动, 自动启动在 MIUI 中非常重要,在启用它之前,所有通知或应用程序活动都将被强制关闭并且永远不会启动。


0
投票

我遇到了类似的问题,并通过向我的应用程序添加 BOOT_COMPLETED 接收器来修复它。

将以下内容添加到清单中:

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

然后创建您的 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);
        }
    }
}

它应该适用于这个。

© www.soinside.com 2019 - 2024. All rights reserved.