我有一个需求,需要创建一个应用程序,它应该可以24/7运行。我不在意电池的消耗,因为这个应用程序不会被提交到PlayStore,只针对特定用户。我也明白这个应用程序只会持续一天,这在我的情况下是可以接受的。
应用程序的功能主要依赖于网络和蓝牙功能,大部分代码都是在marshmallow之前编写的,现在改变整个实现不是一个正确的选择。
那么有没有办法创建应用程序而不受任何限制呢?此外,观察到一些设备制造商增加了额外的电池优化层,使情况更糟。
我尝试创建一个虚拟的前台服务,使用partial wakelock,但这似乎不起作用。即使将应用程序列入白名单也无法解决问题。
Google没有关于Doze / standby会影响哪些功能的适当文档。根据Google的文档,后台任务不会被暂停,只会推迟到下一个维护窗口。如果是这样,应用程序应该能够打印出在Doze期间错过的所有应用程序。但是,观察到应用程序仅在维护窗口期间打印日志。这将破坏预期的行为。
白名单是一个不错的选择,但应用程序仍然会受到Doze模式的影响。即使用户明确选择不这样做,限制应用程序行为的原因是什么?当应用程序在不同的设备操作系统、制造商等方面表现不同时,这非常令人沮丧。
抱歉讲了这么多。我想了解是否有任何方法可以完全禁用Doze和待机模式,而不改变现有的实现方式?我已经阅读了各种文档,但没有100%的方法可以实现这一点。请分享您的想法。
应用程序的功能主要依赖于网络和蓝牙功能,大部分代码都是在marshmallow之前编写的,现在改变整个实现不是一个正确的选择。
那么有没有办法创建应用程序而不受任何限制呢?此外,观察到一些设备制造商增加了额外的电池优化层,使情况更糟。
我尝试创建一个虚拟的前台服务,使用partial wakelock,但这似乎不起作用。即使将应用程序列入白名单也无法解决问题。
Google没有关于Doze / standby会影响哪些功能的适当文档。根据Google的文档,后台任务不会被暂停,只会推迟到下一个维护窗口。如果是这样,应用程序应该能够打印出在Doze期间错过的所有应用程序。但是,观察到应用程序仅在维护窗口期间打印日志。这将破坏预期的行为。
白名单是一个不错的选择,但应用程序仍然会受到Doze模式的影响。即使用户明确选择不这样做,限制应用程序行为的原因是什么?当应用程序在不同的设备操作系统、制造商等方面表现不同时,这非常令人沮丧。
抱歉讲了这么多。我想了解是否有任何方法可以完全禁用Doze和待机模式,而不改变现有的实现方式?我已经阅读了各种文档,但没有100%的方法可以实现这一点。请分享您的想法。