【问题标题】:BroadcastReceiver stop working on Xiaomi after couple of hours几个小时后,BroadcastReceiver 停止在小米上工作
【发布时间】:2018-12-19 03:12:39
【问题描述】:
我将Awareness API 用于我的项目并通过BroadcastReceiver 接收操作。这是我的代码的问题:link。问题是除了 Xiaomi 设备之外的所有 android 版本都可以正常工作。 BroadcastReceiver 几个小时后没有收到任何东西。我为此尝试了许多解决方案(例如 this 和 this 并为我的应用关闭电池节省功能),但似乎没有任何效果。
【问题讨论】:
标签:
android
broadcastreceiver
google-awareness
xiaomi
【解决方案1】:
Google Awareness:
在这样做的同时,API 会整理来自多个来源的数据以
确保提供的数据既准确又高质量。
它还考虑了功耗和内存消耗
访问这些信号 - 有助于确保电池寿命和
我们的应用程序的内存使用不会对
用户设备。
正如本段所说:
它还同时考虑了功耗和内存消耗
访问这些信号
你说:
问题是在所有 android 版本中一切正常
小米设备除外。 BroadcastReciver 没有接收到的地方
几小时后
几个小时后设备可能会节省更多能源
您正在收听“Fence API”以注册用户当前环境的变化,它可能会消耗电力,因此您不会收到广播,您可能需要更改设备设置以允许使用诸如位置 GPS 和其他传感器等传感器相关传感器
【解决方案2】:
我认为您的问题与电池优化有关。此功能从引入打盹模式的 Android Marshmallow 开始可用。这是一种减少后台应用耗电量的方法,但在您的情况下,您应该为您的应用禁用它。