未解决的参考:isIgnoringBatteryOptimization

问题描述

我正在尝试检查我的应用程序是否忽略了电池优化,我不得不强迫用户允许该应用程序,我不想被PlayStore禁止,我看到一些参考资料说该许可很危险。然后,直到现在,我正在下面的代码中尝试这种“解决方案”。我在isIgnoringBatteryOptimizations的文档中看到了该参考,但是在我的Android Studio中,它显示了以下错误

Unresolved reference: isIgnoringBatteryOptimization

我写的代码

import android.os.PowerManager

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        openPowerSettings(this)    
    }

    private fun openPowerSettings(context: Context) {
        if(PowerManager.isIgnoringBatteryOptimization(context.packageName)){
            val intent = Intent()
            intent.action = Settings.ACTION_IGnorE_BATTERY_OPTIMIZATION_SETTINGS
            context.startActivity(intent)
        }
    }
}

解决方法

使用ValidateToken()获得PowerManager系统级服务

Context#getSystemService(String)