0

目标:我想在 android 6.0.1 设备中使用 android uiautomator 自动化呼叫相关场景。但无法在通话屏幕中获取 UI 层次结构(静音、Spearker On、键盘、Addcall 等)

注意:我没有使用任何 appium 服务器

错误:“获取 UI 层次结构时出错” 原因:获取 UI 层次结构 XML 文件时出错:com.android.ddmlib.SyncException:远程对象不存在!

观察:

  1. adb devices 列出了设备,我们可以访问 /data/local/tmp/ 目录
  2. 重新启动设备,重新启动电脑,重新启动 uiautomatorviewer
  3. adb shell input tap x y正在工作(但不想在脚本文件中使用坐标)

请协助寻找解决方案,以自动化电话应用程序调用场景,例如“静音”、“取消静音”、“dtmf 按键盘数字”、“扬声器打开”、“扬声器关闭”。

有没有办法通过 adb 执行此类操作?

4

1 回答 1

0

您可以简单地调用 adb 命令来调用调用者服务。

要从 ADB 拨打(而不是呼叫)号码,请运行以下 ADB shell 命令:

$ adb shell service call phone 1 s16 "9302939203"
Result: Parcel(00000000    '....')

要从 ADB 调用,我们只需要更改调用服务命令的方式:

$ adb shell service call phone 2 s16 "1" s16 "9302939203"
Result: Parcel(00000000    '....')

还有一个替代命令可以从 ADB 拨打电话:

$ adb shell am start -a android.intent.action.CALL -d tel:9302939203
Starting: Intent { act=android.intent.action.CALL dat=tel:xxxxxxxxxxx }
于 2016-09-15T09:07:20.067 回答