我正在尝试使用以下代码确定屏幕是否打开:

    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调用。
这在文档中有详细说明,但在我阅读时并没有注册。

09-13 08:24