Приложение для самостоятельного вызова Android Telecom И настраиваемая схема URI И .placeCall для исходящего вызова >>> как запустить службу подключения?

#android #android-connectionservice

#Android #android-connectionservice

Вопрос:

Самоуправляемый PhoneAccount регистрируется следующим образом:

 PhoneAccount phoneAccount = PhoneAccount.builder(phoneAccountHandle, name)
                .addSupportedUriScheme(CUSTOM_URI_SCHEME)
                .setCapabilities(
                        PhoneAccount.CAPABILITY_SELF_MANAGED |
                        PhoneAccount.CAPABILITY_VIDEO_CALLING |
                        PhoneAccount.CAPABILITY_SUPPORTS_VIDEO_CALLING)
                .setShortDescription(name)
                .build();
telecomManager.registerPhoneAccount(phoneAccount);
 

При использовании .placeCall() :

 Bundle extra = new Bundle();
extra.putParcelable(TelecomManager.EXTRA_PHONE_ACCOUNT_HANDLE, phoneAccountHandle);
telecomManager.placeCall(Uri.parse(CUSTOM_URI_SCHEME   ":"   "[call address] param"), extra);
 

ConnectionService Не запускается, а ниже всплывающее сообщение с предупреждением:

Вызов не отправлен, не введен действительный номер.


Кроме того, я протестировал не использование пользовательского URI, используя схему «tel:», обнаружил, что у телефона должна быть SIM-карта, чтобы вызвать ConnectionService , это поведение не совпадает с документом как самоуправляемым, кто-нибудь сталкивался и мог разрешить любой из вышеперечисленных сценариев?

Комментарии:

1. Вы можете использовать VoIP вместо Tel, Tel не будет работать без зарегистрированного сетевого подключения (Sim-карты) Эта статья может решить вашу проблему: developer.android.com/guide/topics/connectivity /…

2. Спасибо за ваше предложение, я использую эту статью, которая действительно использует инфраструктуру telecom.