2

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

    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 及更高版本有效。我在这里做错了吗?

4

1 回答 1

4

我解决了这个问题。我的目标是 android SDK 版本 22。如果您PowerManager.isScreenOn()在运行 < 版本 20 的设备上调用,那么isScreenOn调用实际上只是包装isInteractive调用。

这在文档中有详细说明,但在我阅读时没有注册。

于 2015-12-02T16:43:27.407 回答