微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android PhoneAccount.CAPABILITY_CONNECTION_MANAGER 怎么用呢?

如何解决Android PhoneAccount.CAPABILITY_CONNECTION_MANAGER 怎么用呢?

无论如何我可以使用 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 举报,一经查实,本站将立刻删除。