我正在尝试使用以下代码确定屏幕是否打开:
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之前应该有效,而isiInteractive()在API 20之前应该有效。我在这里做错什么了吗?
最佳答案
我发现了问题。我的目标是android sdk版本22。如果在运行PowerManager.isScreenOn(),那么isScreenOn
调用实际上只是包装isInteractive
调用。
这在文档中有详细说明,但在我阅读时并没有注册。