【问题标题】:How to set Default Dialer for functions under test?如何为被测功能设置默认拨号器?
【发布时间】:2018-12-05 02:07:18
【问题描述】:

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

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

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

我还尝试在模拟器上进行测试,我注意到您可以为您的应用授予 WRITE_SECURE_SETTINGS 但不能授予 MANAGE_USERS 如果您要使用反射访问https://android.googlesource.com/platform/frameworks/base/+/master/telecomm/java/android/telecom/DefaultDialerManager.java,这是您需要的其他必要权限

非常感谢任何帮助!

【问题讨论】:

    标签: android integration-testing android-dialer


    【解决方案1】:

    你可以试试 adb 命令:

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

    用你的包替换 com.google.android.dialer。

    【讨论】:

      猜你喜欢
      • 2015-02-13
      • 1970-01-01
      • 2016-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多