我在构建应用程序时遇到了问题。该应用程序有一个联系人列表,当您单击联系人时,默认拨号器应用程序应打开并拨打与该联系人关联的号码。这已经运行了很长一段时间,但最近我们收到了一个使用第三方拨号器应用程序的用户的问题,他希望在从我们应用程序的联系人列表中单击联系人时打开它,而不是在股票 android拨号器。
我们在测试设备上安装了这个第三方拨号器并将其设置为默认拨号器应用程序(通过应用程序 -> 默认值 -> 默认电话应用程序),但是当我们单击应用程序中的联系人时,股票(三星)拨号器仍然打开,而不是第三方。我们重新启动了手机以确定,但这也无济于事。
当我打开股票联系人应用程序并通过那里拨打电话时,第三方拨号器确实可以正常运行并管理通话。
我们用来拨打电话的具体代码:
Intent intent_call = new Intent("android.intent.action.CALL");
intent_call.setData(Uri.parse("tel:" + number));
startActivity(intent_call);
从我在文档中可以找到的内容来看,这应该尊重默认的拨号器设置,但似乎没有。有谁知道为什么会这样?我一直在搜索,但除了我们已经通过intent.action.call 使用的方式之外,我似乎找不到任何信息。