我正在使用模拟器(android 2.3.3)
adb shell "am start -a android.intent.action.INSERT -t vnd.android.cursor.dir/contact -e name 'Android Auto' -e phone 51115111"
这个命令只是帮助我启动“新联系人”并填写姓名和电话。我需要在屏幕上点击完成才能完成插入。
有没有办法在没有人工干预的情况下完成程序?
我正在使用模拟器(android 2.3.3)
adb shell "am start -a android.intent.action.INSERT -t vnd.android.cursor.dir/contact -e name 'Android Auto' -e phone 51115111"
这个命令只是帮助我启动“新联系人”并填写姓名和电话。我需要在屏幕上点击完成才能完成插入。
有没有办法在没有人工干预的情况下完成程序?
@Shimon Elbaz 是对的。
“返回键”有助于保存更改。
对我来说(在 Android 4.4.2 上)下一个脚本有效:
adb shell am start -a android.intent.action.INSERT -t vnd.android.cursor.dir/contact -e name 'Android Auto22232342' -e phone 51115111
adb shell input keyevent 4
adb shell input keyevent 4
adb shell input keyevent 4
我们需要按 HW Back 按钮 3 次:
- 第一次隐藏键盘
- 第二次关闭 ContactEditorActivity(保存联系人) - 第三次关闭联系信息活动
我的任务是在设备上添加 50 个联系人,为此我编写了一个简单的 bash 脚本:
contactCount=50
if (( $# != 0 ))
then
let contactCount=$1
fi
for (( c=0; c<contactCount; c++))
do
adb shell am start -a android.intent.action.INSERT -t vnd.android.cursor.dir/contact -e name 'Test'$c -e phone 511151$c
adb shell input keyevent 4
adb shell input keyevent 4
adb shell input keyevent 4
wait $pid
done
adb shell input keyevent 4
要添加 50 个联系人,请运行不带参数的脚本:
./script.sh
要添加其他联系人计数,请添加一个参数:
./script.sh
前任。添加 3 个联系人:
./script.sh 3
另外,我认为有一些更简单的方法可以执行此操作,我会很高兴看到它 =)
感谢关注。
您可以使用关键事件。基本上 keyevents 也可以通过 adb shell 发送 - adb.exe shell input keyevent #
供应商之间的关键事件大多相似,您可以使用此图表找到正确的事件:
如果它与列表不匹配 - 尝试使用它。
另请注意,在许多设备中,一旦您打开带有信息的意图,按“Home”或“Return”键将自动保存更改。