问题描述
无论如何我可以使用 CAPABILITY_CONNECTION_MANAGER 我想完全依赖 androids 功能来拨打电话,但我只需要回调事件,这样我就可以在我的一端触发事情。我找不到很多关于如何使用它的文档。
本质上的想法是建立一个电话帐户和一个connectionService,让用户选择我的服务来拨打电话。并使用 ConnectionService 它是电话本机 UI 拨号器的包装器。我想完全依赖框架电话堆栈来拨打电话。我只需要这个东西,所以我可以从中获取一些事件,我需要知道何时呼叫实际上与两端连接。
这是我创建电话帐户的方式:
@RequiresApi(api = VERSION_CODES.LOLLIPOP)
private void registerPhoneAccount() {
TelecomManager telecomManager = (TelecomManager) getSystemService(Context.TELECOM_SERVICE);
ComponentName componentName = new ComponentName("justice.org.callapp","justice.org.callapp.services.MyOutGoingMusicInCallService");
PhoneAccountHandle phoneAccountHandle = new PhoneAccountHandle(componentName,"Call Music");
PhoneAccount phoneAccount = PhoneAccount.builder(phoneAccountHandle,"CallApp")
.setCapabilities(PhoneAccount.CAPABILITY_CONNECTION_MANAGER)
.build();
telecomManager.registerPhoneAccount(phoneAccount);
}
在清单中它看起来像这样:
<service
android:name=".services.MyOutGoingMusicInCallService"
android:label="@string/some_label_for_my_connection_service"
android:permission="android.permission.BIND_TELECOM_CONNECTION_SERVICE"
android:enabled="true"
android:exported="true"
android:icon="@mipmap/ic_launcher"/>
首先什么也没有发生,我的应用程序没有出现在设置中,如果我使用 CAPABILITY_CALL_PROVIDER 那么它就可以工作,我成为电话的处理程序,但随后我需要负责实现所有功能拨号器。我不想要那个。让 android 继续做它所做的,我只需要它做的回调...你有什么建议,我需要什么特殊权限?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)