我正在尝试将Twilio
用于视频通话应用程序,一端是网络,另一端是android。使用Firebase触发从Web到Android的推送通知。我需要将推送通知转换为android应用程序中的“来话呼叫”屏幕,为此我使用了ConnectionService
,它已从API 23记录为可用。我已经注册了PhoneAccount
,如下所示:
TelecomManager tm = (TelecomManager) getSystemService(Context.TELECOM_SERVICE);
PhoneAccountHandle phoneAccountHandle = new PhoneAccountHandle(
new ComponentName(this.getApplicationContext(), MyConnectionService.class),
"AppName");
PhoneAccount phoneAccount = PhoneAccount.builder(phoneAccountHandle, "AppName")
.setCapabilities(PhoneAccount.CAPABILITY_CONNECTION_MANAGER).build();
tm.registerPhoneAccount(phoneAccount);
我第一次在
注册了PhoneAccountPhoneAccount phoneAccount = PhoneAccount.builder(phoneAccountHandle, "AppName")
.setCapabilities(PhoneAccount.CAPABILITY_SELF_MANAGED).build();
仅适用于API 26,后来我将其更改为
PhoneAccount phoneAccount = PhoneAccount.builder(phoneAccountHandle, "AppName")
.setCapabilities(PhoneAccount.CAPABILITY_CONNECTION_MANAGER).build();
较新版本在API 26中按预期工作,但在较低版本上,却出现了异常
java.lang.SecurityException:该PhoneAccountHandle没有为此用户注册!
有人可以解决这个问题吗?