gpt4 book ai didi

Android:以编程方式删除或禁用 Samsung Galaxy S2 设备上的锁定屏幕

转载 作者:太空宇宙 更新时间:2023-11-03 12:19:53 25 4
gpt4 key购买 nike

问题 我的 Android 自动化测试不可靠,因为测试的 Activity 有时运行,有时暂停。

原因 如果我的安卓设备(三星 Galaxy S2)开启了锁定屏幕,所有 Activity 都会立即进入暂停模式。

如何在我的测试运行时以编程方式禁用锁定屏幕?

这是我尝试过的方法,但没有产生任何结果(即,锁定屏幕仍然处于 Activity 状态并暂停了我的 Activity )。

  • 添加 android.permission.DISABLE_KEYGUARD 权限并使用 KeyguardLock.disableKeyguard(),如 android doc 中所述。 .

  • 设置窗口标志:FLAG_SHOW_WHEN_LOCKED、FLAG_TURN_SCREEN_ON、FLAG_DISMISS_KEYGUARD。

  • WakeLock.acquire()PowerManager.FULL_WAKE_LOCKPowerManager.ACQUIRE_CAUSES_WAKEUPPowerManager.ON_AFTER_RELEASE 一起使用code> 和 PowerManager.SCREEN_BRIGHT_WAKE_LOCK 参数。

  • adb shell 输入keyevent 82

最佳答案

您可以使用以下代码禁用锁屏。将此代码包含在您的 Activity 的 oncreate 中。

PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE);
wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK
| PowerManager.ACQUIRE_CAUSES_WAKEUP
| PowerManager.ON_AFTER_RELEASE, "INFO");
wl.acquire();

KeyguardManager km = (KeyguardManager) getSystemService(KEYGUARD_SERVICE);
kl = km.newKeyguardLock("name");
kl.disableKeyguard();

在 list 中包含权限:

<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />

关于Android:以编程方式删除或禁用 Samsung Galaxy S2 设备上的锁定屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18890143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com