#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 за помощь ^^