#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.