提问者:小点点

未解析得引用:isIgnoringBatteryOptimization


我试着检查我的应用程序是否忽略了电池优化,我必须强制用户允许应用程序在那,我不想被禁止从PlayStore,我看到一些参考资料说这个许可是危险的。然后,直到现在,我正在从下面的代码尝试这个“解决方案”。我在这里的文档中看到了IsigningBatteryOptimizations的引用,但在我的Android studio中,它给了我以下错误:

未解析得引用: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)
        }
    }
}

共1个答案

匿名用户

使用Context#GetSystemService(String)获取PowerManager系统级服务

 private fun openPowerSettings(context: Context) {
        val powerManager = getSystemService(Context.POWER_SERVICE) as PowerManager
        if (powerManager.isIgnoringBatteryOptimizations(context.packageName)) {
            val intent = Intent()
            intent.action = Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS
            context.startActivity(intent)
        }
    }