Android PowerManager isInteractive() против isScreenOn() ошибка?
Я пытаюсь определить, включен ли экран, используя следующий код:
private void isScreenOn() {
if (Build.VERSION.SDK_INT >= 20) {
if (mPowerManager.isInteractive()) {
//Do stuff
}
} else {
if (mPowerManager.isScreenOn()) {
//Do stuff
}
}
}
У меня были отчеты с мест, что это регистрируется:
com.aws.android I/dalvikvm: Could not find method android.os.PowerManager.isInteractive, referenced from method ...
Может кто-нибудь помочь мне понять, как это может происходить? Метод isScreenOn() должен быть действительным до API 19, а isInteractive() должен быть действительным для API 20 и выше. Я что-то здесь не так делаю?
1 ответ
Я понял проблему. Я нацеливаюсь на Android SDK версии 22. Если вы звоните PowerManager.isScreenOn()
на устройстве под управлением <версия 20, то isScreenOn
звонок действительно просто оборачивает isInteractive
вызов.
Это было прописано в документации, но не было зарегистрировано, когда я ее прочитал.