1

いくつかのタスクを自動化するために、ADB を使用してキーガードを解除する方法を探しています。

ACTIVITY を開始したいと思います (おそらく android.app.KeyguardManager.KeyguardLock で public メソッド disableKeyguard を呼び出します)。これは、すべて (またはほとんど) の Android デバイスで動作すると想定しているためですが、構文がよくわかりません。

MonkeyRunner はすべてのデバイスに存在しない (またはおそらく呼び出し可能ではない) ため、使用したくありません。また、MENU キーコード (adb shell 入力キーコード 82) を送信することもできません。これは、すべてのデバイスでキーガードが解除されるわけではないためです。

現在、イベント(低レベルのタッチイベント)を送信していますが、これはデバイスごとにカスタマイズする必要があるため、時間がかかる作業です。

誰か提案がありますか?

4

1 に答える 1

1

「アクティビティ テスト」の記事には、この状況に対処するエミュレーターまたはデバイスのロック解除というセクションがあります。

要するに、直接実行する方法はありませんadbが、使用方法disableKeyguard()は複雑ではありません (上記のリンク先の記事にある 3 行のサンプル コードを参照してください)。キーガードを無効にするだけの小さなアプリを簡単に作成できます。それならただの問題だろう

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

(ここ<apk>で、、、<package>および<activity>すべては、キーガードを無効にするだけの小さなアプリを指します。)

于 2012-07-01T04:44:24.200 に答える