Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android PhoneAccount.CAPABILITY\u CONNECTION\u MANAGER如何使用?_Android_Phone Call_Android 11 - Fatal编程技术网

Android PhoneAccount.CAPABILITY\u CONNECTION\u MANAGER如何使用?

Android PhoneAccount.CAPABILITY\u CONNECTION\u MANAGER如何使用?,android,phone-call,android-11,Android,Phone Call,Android 11,我想完全依靠androids的功能来打电话,但我所需要的只是回拨事件,这样我就可以触发我这方面的事情。我找不到多少关于如何使用它的文档 基本上,这个想法是建立一个电话帐户和一个连接服务,让用户选择我的服务来拨打电话。使用ConnectionService,它是手机本机UI拨号程序的包装器。我想完全依靠框架电话堆栈来进行调用。我只需要这个东西,这样我就可以从中获得一些事件,我需要知道一个呼叫何时实际连接到两端 以下是我创建电话帐户的方式: @RequiresApi(api = VERSION_C

我想完全依靠androids的功能来打电话,但我所需要的只是回拨事件,这样我就可以触发我这方面的事情。我找不到多少关于如何使用它的文档

基本上,这个想法是建立一个电话帐户和一个连接服务,让用户选择我的服务来拨打电话。使用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\u CALL\u PROVIDER,那么它就会工作,我会成为电话的处理者,但我需要负责实现拨号器的所有功能。我不想那样。让安卓继续做它所做的,我只需要回调,因为它这样做。。。你有什么建议?我需要什么特别许可