如何使用adb intent解除android键盘锁

时间:2012-07-01 00:46:43

标签: android android-intent adb keyguard

我正在寻找一种方法来使用ADB来解除键盘锁,以便自动执行某些任务。

我想启动ACTIVITY(也许在android.app.KeyguardManager.KeyguardLock中调用公共方法disableKeyguard),因为我认为它可以在所有(或大多数)Android设备上运行,但我不确定语法。

我不想使用MonkeyRunner,因为它在所有设备上都不存在(或者可能是可调用的)。我也无法发送一个MENU键码(adb shell输入键码82),因为这并不会解除所有设备上的键盘锁。

目前我正在发送事件(低级触摸事件),但这需要针对每个设备进行自定义,因此这是一项非常耗时的任务。

有人有建议吗?

1 个答案:

答案 0 :(得分:1)

“活动测试”文章有一个名为Unlocking the emulator or device的部分,可以解决这种情况。

简而言之,没有办法直接使用adb,但使用disableKeyguard()并不复杂(请参阅上面链接的文章中的三行示例代码)。您可以轻松地组合一个小应用程序,除了禁用键盘锁之外什么都不做。那就是

的问题
adb install <apk>
adb shell am start <package>/.<activity>
# Whatever you need to automate
adb uninstall <package>

(其中<apk><package><activity>都是指仅禁用键盘锁的小应用。)