我有一个通过NotificationListenerService
收听通知的应用。我的应用程序在打盹模式和应用程序中都可以使用几乎所有手机(如果设置正确,例如异常或前台服务)。
然后来华为和小米自己修改Android以及#34;改善电池寿命"。这些可能会严重影响后台运行的应用程序,以至于在一两个星期之后必须重新安装应用程序。即使清算数据也不会解冻"该应用程序。甚至是他们自己的优化例外"不能可靠地解决这个问题。仅完全禁用所有优化,例如启用"高性能模式"可能解决这个问题但是用户不想禁用这些选项。
你如何处理这些案件?我们怎样才能阻止制造商停止搞乱核心Android?更不用说有趣的ANR&在Zygote
崩溃:(
答案 0 :(得分:2)
然后来华为和小米自己修改Android以及#34;改善电池寿命"。
是的小米,华为和其他一些制造商都拥有自己的电池节电器#34;或者"安全"除非用户在相关设备设置中列出您的应用程序白名单,否则会杀死或限制后台运行的应用程序以提高安全性/备用电池。
我发现的关于小米的是他们列出了知名的应用程序,如Facebook,Whatsapp等等。但你不能要求小米将你的应用程序列入白名单。
这些可能会严重影响后台运行的应用程序,以至于在一两个星期之后必须重新安装应用程序。即使清算数据也不会解冻"该应用程序。
这些制造商应用只会终止您的应用流程。因此,您的应用应该以这样的方式运行,即在任何时刻终止都不应该创建不一致的状态。
此外,您可以在安装后向用户显示弹出窗口,要求他/她在电池保护程序中将您的应用程序列入白名单。在小米,用户需要选择“不限制后台活动”。并启用“自动启动”功能为您的应用程序。据我所知,没有其他解决方案。
如果你找到一个,请告诉我;)