【问题标题】:Android app appears in Battery Optimizations whitelist, but is not actually thereAndroid 应用出现在电池优化白名单中,但实际上并不存在
【发布时间】:2017-10-16 03:05:22
【问题描述】:

背景:

我正在开发一个 Android 应用程序。当应用程序启动时,它会使用isIgnoringBatteryOptimizations() 函数检查它是否被排除在电池优化之外。如果该函数返回 false,我将使用 REQUEST_IGNORE_BATTERY_OPTIMIZATIONS 权限显示电池优化设置屏幕,用户应在其中将应用添加到白名单。

当我从 Android Studio 运行应用程序时,这一切都运行良好。当我下载并安装候选版本时,麻烦就开始了。

请注意,我将描述的问题仅发生在我的两部手机中的一部上。 问题发生在运行 Android 7.0 的 Sharp 507SH 上。在同样运行 Android 7.0 的 Sony SOV32 上不会出现此问题。

问题:

当我下载并安装候选版本(不使用 Android Studio)并启动应用程序时,电池优化屏幕正常显示。但是,该应用程序似乎已立即列在“未优化”白名单中。通常,用户必须手动选择应用程序并添加它。但它出现在列表中。所以用户按下后退按钮返回应用程序,一切似乎都很好。 但是,该应用实际上并没有在白名单中。 应用每次启动时都会提示用户这一事实证实了这一点,即isIgnoringBatteryOptimizations() 仍然返回 false。

我可以“真正地”将应用添加到白名单,方法是首先进入电池设置并将其从白名单中删除,然后再将其添加回来。然后提示就会消失。

【问题讨论】:

    标签: android android-doze battery-saver


    【解决方案1】:

    我的谈话迟到了,但我经历了类似于上面paperduck所说的事情。

    我不能 100% 证明这一点,但我的经验表明,在模拟器和我自己的设备(华为 P20 Lite)上测试时,通过 Android Studio 安装应用程序时,应用程序说它在优化列表中。在优化列表中添加或删除应用程序不会更改返回值。

    【讨论】:

      【解决方案2】:

      这可能是之前在 Google Play 以外的手机上安装 APK 的副作用(错误)。我们正在直接从 Google Drive 下载和安装 APK 文件候选版本。安装了以前的 APK 文件的手机会遇到此问题。之前没有直接安装过APK文件的手机没有问题。

      我们尚未确认这一点。这是我们的怀疑。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-01-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-22
        • 2017-05-26
        • 2020-09-24
        • 1970-01-01
        相关资源
        最近更新 更多