Неразрешенная ссылка: isIgnoringBatteryOptimization

#android #kotlin #android-powermanager

#Android #kotlin #android-powermanager

Вопрос:

Я пытаюсь проверить, игнорирует ли мое приложение оптимизацию заряда батареи, я должен заставить пользователей разрешить это приложению, я не хочу, чтобы меня забанили в 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)
        }
    }
}
  

Ответ №1:

Получите PowerManager службу системного уровня, используя Context#getSystemService(String)

  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)
        }
    }
  

Комментарии:

1. спасибо Arpan за помощь ^^