我想以disable/delay编程方式锁定屏幕.在调查这个,KeyguardManager折旧/不一致,FLAG_DISMISS_KEYGUARD不是一个选项,因为我想在后台执行此操作,我不想因为电池原因使用WakeLock,设备管理似乎没有能力并且,虽然SCREEN_OFF_TIMEOUT可以控制屏幕何时休眠,但我无法找到屏幕锁定的类似超时.
我在这里错过了什么?谢谢.
问题我的Android自动化测试不可靠,因为测试的活动有时会运行并且有时会暂停.
原因如果我的Android设备(三星Galaxy S2)启用了锁屏,则所有活动都会立即进入暂停模式.
如何在我的测试运行时以编程方式禁用锁定屏幕?
这是我尝试过的,根本没有产生任何结果(即,锁定屏幕仍处于活动状态并暂停我的活动).
添加android.permission.DISABLE_KEYGUARD权限并KeyguardLock.disableKeyguard()按照android doc中的说明使用.
设置窗口标志:FLAG_SHOW_WHEN_LOCKED,FLAG_TURN_SCREEN_ON,FLAG_DISMISS_KEYGUARD.
使用WakeLock.acquire()带PowerManager.FULL_WAKE_LOCK,PowerManager.ACQUIRE_CAUSES_WAKEUP,PowerManager.ON_AFTER_RELEASE和PowerManager.SCREEN_BRIGHT_WAKE_LOCK参数.
adb shell input keyevent 82