我为Android和iOS构建了一个呼叫应用程序,我使用Callkit作为呼叫接口。
这是一个混合应用程序开发与离子和 cordova 。
我的问题是,在一些安卓设备(并非全部)中,当用户想通过SIM卡呼叫某人时,我的应用程序会显示出来(作为一个选项),我不希望这种情况发生。
我试着通过手机设置修复它,我可以做到这一点,但只要我进入我的应用程序,它再次发生至今。
这是我正在使用的插件的分支:
https://github.com/Qvadis/cordova-plugin-callkit
我做了一些研究,我发现这可能与以下代码有关:
if(android.os.Build.VERSION.SDK_INT >= 23) {
phoneAccount = new PhoneAccount.Builder(handle, appName)
.setCapabilities(PhoneAccount.CAPABILITY_CALL_PROVIDER)
.build();
tm.registerPhoneAccount(phoneAccount);
}
但是,如果我注解它,callkit UI不会显示。
有人能给我们点提示吗?
谢谢你博尔哈。
1条答案
按热度按时间f45qwnt81#
我找到了解决办法:
显然,它是CAPABILITY_CALL_PROVIDER,注册我的应用程序能够从电话堆栈中调用的那个。
让我复制一下我从Googles PhoneAccount类中找到的代码:
我使用的不是CAPABILITY_CALL_PROVIDER,而是CAPABILITY_CONNECTION_MANAGER。行为相同,但我的应用不再显示为电话堆栈中的有效呼叫应用。