我从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
所需要的另一个必要权限。非常感谢您的帮助!
答案 0 :(得分:0)
您可以尝试使用adb命令:
adb shell settings put secure dialer_default_application com.google.android.dialer
用您的软件包替换com.google.android.dialer。