我试着检查我的应用程序是否忽略了电池优化,我必须强制用户允许应用程序在那,我不想被禁止从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)
}
}
}
使用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)
}
}