Android PhoneAccount.CAPABILITY\u CONNECTION\u MANAGER如何使用?
我想完全依靠androids的功能来打电话,但我所需要的只是回拨事件,这样我就可以触发我这方面的事情。我找不到多少关于如何使用它的文档 基本上,这个想法是建立一个电话帐户和一个连接服务,让用户选择我的服务来拨打电话。使用ConnectionService,它是手机本机UI拨号程序的包装器。我想完全依靠框架电话堆栈来进行调用。我只需要这个东西,这样我就可以从中获得一些事件,我需要知道一个呼叫何时实际连接到两端 以下是我创建电话帐户的方式:Android PhoneAccount.CAPABILITY\u CONNECTION\u MANAGER如何使用?,android,phone-call,android-11,Android,Phone Call,Android 11,我想完全依靠androids的功能来打电话,但我所需要的只是回拨事件,这样我就可以触发我这方面的事情。我找不到多少关于如何使用它的文档 基本上,这个想法是建立一个电话帐户和一个连接服务,让用户选择我的服务来拨打电话。使用ConnectionService,它是手机本机UI拨号程序的包装器。我想完全依靠框架电话堆栈来进行调用。我只需要这个东西,这样我就可以从中获得一些事件,我需要知道一个呼叫何时实际连接到两端 以下是我创建电话帐户的方式: @RequiresApi(api = VERSION_C
@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,那么它就会工作,我会成为电话的处理者,但我需要负责实现拨号器的所有功能。我不想那样。让安卓继续做它所做的,我只需要回调,因为它这样做。。。你有什么建议?我需要什么特别许可