Прямой звонок по телефону Xamarin.Forms

В любом случае, вы можете сделать телефонный звонок, не открывая дозвонщик в xamarin.forms?

 if (device.PhoneService != null) {
    Device.OpenUri(new Uri("tel:123123123"));
 }

Ответ 1

Когда мы пишем код для начала голосового вызова, мы должны знать о DependencyService в Xamarin.Forms.

DependencyService в Xamarin.Forms предоставляет доступ к нативной функциональности и некоторым специфичным для платформы реализациям iOS, Android и Windows Phone SDK из вашего PCL или общего проекта.

Чтобы начать голосовой вызов, существуют некоторые реализации и разрешения для конкретной платформы.

  1. Ниже приведена процедура для реализации голосового вызова в Xamarin.Forms. Давайте создадим ContentPage с записью и кнопкой как HomePage.cs.

enter image description here
(источник: netdna-cdn.com)

  1. Создайте интерфейс IPhoneCall.cs в общем коде, который показывает функциональность, которую мы намерены реализовать.

enter image description here
(источник: netdna-cdn.com)

  1. Интерфейс должен быть реализован в каждом проекте приложения для конкретной платформы.

Реализация Android: перед реализацией интерфейса в Android не забудьте установить некоторые разрешения в AndroidManifest.xml. Эти разрешения необходимы для вызова голосового вызова в Android.

enter image description here
(источник: netdna-cdn.com)

После установки разрешений мы должны реализовать интерфейс с помощью небольшого класса PhoneCall_Droid.cs.

enter image description here
(источник: netdna-cdn.com)

См. пример для iOS & Реализация Windows.

  1. Мы завершили реализацию интерфейса и зарегистрировали каждую конкретную платформу. Теперь мы можем написать DependencyService, чтобы получить экземпляр интерфейсов.

enter image description here
(источник: netdna-cdn.com)


Образец: http://www.c-sharpcorner.com/UploadFile/e4bad6/code-to-start-call-in-xamarin-forms


Ответ 2

Просто используйте плагин для обмена сообщениями, чтобы сделать это из общего кода. Отлично работает: https://github.com/cjlotz/Xamarin.Plugins

Ответ 3

Устройства всегда показывают дозвонщик, когда вы делаете телефонный звонок, чтобы пользователь мог повесить трубку, переключиться на устройство Bluetooth, отключить звук и т.д. - так работает запуск дозвона на мобильном устройстве. На iOS после завершения вызова пользователь все равно будет в вашем приложении, и в этом вопросе ниже рассказывается о том, как вернуть пользователя в ваше приложение на Android после завершения вызова:

Как сделать телефонный звонок в android и вернуться к моей активности, когда звонок завершен?