安卓:最新安卓系统WEBVIEW下设备屏幕不会自动休眠

15

1)基于Cordova(Webview)的安卓应用程序。

2)启动应用程序后,屏幕按照设备设置正确超时。

3)从应用程序方面,我们不会获取任何SCREEN_BRIGHT_WAKE_LOCK或ON_AFTER_RELEASE。

4)当应用程序被放到后台并重新回到前台时,设备屏幕永远不会超时。

5)基本上,在返回前台时,PowerManager代表我们的应用程序10311获得了ON_AFTER_RELEASE | SCREEN_BRIGHT_WAKE_LOCK(0x2000000a)唤醒锁,并且屏幕一直保持开启状态。

Line 58354: 08-14 22:49:22.280 D/PowerManagerService( 1088): [api] acquire WakeLock flags=0x2000000a tag=WindowManager uid=1000 pid=1088

08-14 22:50:22.000 I/PowerManagerService( 1088): [PWL]  SCREEN_BRIGHT_WAKE_LOCK        'WindowManager' ON_AFTER_RELEASE (uid=1000, pid=1088, ws=WorkSource{10311}) (elapsedTime=59719)

6)启动Android System WebView 59.0.3071.25 beta(无法工作)(2017年5月4日)

https://www.apkmirror.com/apk/google-inc/android-system-webview/android-system-webview-59-0-3071-25-release/android-system-webview-59-0-3071-25-android-apk-download/

出现屏幕超时问题。

7)在使用Chrome v59作为Webview的Android 7.0中未发现此问题。

所用设备:Note 4(5.0.1)

Webview版本:59.0.3071.125

1个回答

2

我已经尝试过这个方法(clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)),但是没有起作用。请参考https://github.com/EddyVerbruggen/Insomnia-PhoneGap-Plugin/blob/master/src/android/nl/xservices/plugins/Insomnia.java。 - NitZRobotKoder
当应用程序被置于后台并重新回到前台时,设备屏幕永远不会超时:您是否尝试在应用程序返回前台后调用window.plugins.insomnia.allowSleepAgain()?对我来说似乎有效... - Isma
{btsdaf} - NitZRobotKoder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接