【问题标题】:Permission to disable battery optimization keeps appearing on Android API 28 despite not being changed尽管没有更改,但禁用电池优化的权限仍然出现在 Android API 28 上
【发布时间】:2020-10-27 12:22:20
【问题描述】:

这发生在我的小米设备中,至少在模拟器中不会发生。

为了更清楚地说明发生了什么:

我需要禁用电池优化才能从我的应用中正确运行某些服务。

但在不更改配置的情况下,我会收到对话框警告电池未禁用,并且当我再次启动应用程序时需要使用它,因为它已再次启用。

我不太在意这是由于手机中的个性化层造成的,而且它通常可以在其他设备上运行,因为我不希望让应用程序在任何手机终端上 100% 运行,但如果大多数设备都会再次启用电池优化,而不会发出警告。

有没有办法避免启用自动电池优化?或者,至少,这种情况通常只发生在少数使用该 API 的设备中吗?

【问题讨论】:

    标签: java android battery


    【解决方案1】:

    遗憾的是,对于某些供应商而言,电池优化权限实际上并不允许您的应用程序忽略电池优化 :)

    华为、小米、魅族和其他一些供应商可以阻止您的应用程序执行其工作,即使它拥有所有权限。因此,开发人员必须考虑一些变通方法。您也可以联系小米技术支持,询问他们是否有任何方法可以使您的应用程序正常工作。有时他们可以提供帮助。

    关于请求权限。我们在我们的应用程序中使用了以下代码,尚未收到任何投诉:

    
    if (isMarshmallowOrHigher()) {
        val pm = getSystemService(POWER_SERVICE) as PowerManager
        val isIgnoringBatteryOptimizations = pm.isIgnoringBatteryOptimizations(
                packageName
        )
        if (!isIgnoringBatteryOptimizations) {
            val intent = Intent()
            intent.action = Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
            intent.data = Uri.parse("package:$packageName")
            startActivityForResult(intent, ignoreOptimizationsRequest)
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-02
      • 1970-01-01
      • 2020-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-12
      • 2016-03-17
      相关资源
      最近更新 更多