如何为被测功能设置默认拨号器?

时间:2018-12-05 02:07:18

标签: android integration-testing android-dialer

我从https://developer.android.com/guide/topics/connectivity/telecom/selfManaged获悉,可以通过在清单和权限中列出必要的项目来设置默认拨号程序。拨号意图之一。

我想做的是建立一个库,该库执行所有这些内容提供程序调用,并为我的应用程序提供一种很好的响应方式。构建库时,我想围绕这些设备调用添加一些集成测试。

有一个GrantPermissionsRule可以帮助设置清单中已经定义的权限,但是如何处理成为默认的拨号程序或SMS应用程序呢?我什至接受甚至可以使用运行时执行命令运行的adb命令。

我还尝试了在仿真器上进行测试,但我注意到您可以给应用程序WRITE_SECURE_SETTINGS,但不能给MANAGE_USERS,这是您要使用反射来访问https://android.googlesource.com/platform/frameworks/base/+/master/telecomm/java/android/telecom/DefaultDialerManager.java

所需要的另一个必要权限。

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

您可以尝试使用adb命令:

adb shell settings put secure dialer_default_application com.google.android.dialer

用您的软件包替换com.google.android.dialer。