Xamarin формирует телефонный звонок не работает на iOS - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть следующий код, я пытаюсь позвонить.Он работает на Android, но не на iOS !!

  private void Call_Clicked(object sender, EventArgs e)
    {
        //var phoneDialer = CrossMessaging.Current.PhoneDialer;
        //if (phoneDialer.CanMakePhoneCall)
        //    phoneDialer.MakePhoneCall("+9611578268");
        Device.OpenUri(new Uri("tel:738284739"));
    }

Я пробовал и закомментированный, и закомментированный код, оба не работали.Есть предложения?

1 Ответ

0 голосов
/ 04 декабря 2018

Вы должны использовать Dependency Services на собственном уровне, потому что предварительная форма будет высокой и легко управлять собственным API.Пожалуйста, проверьте приведенную ниже реализацию, это поможет вам.

Создайте интерфейс в вашем проекте PCL -

 public interface ICall
 {
   bool OpenCallAction(string phoneNumber);
 } 

Создайте класс в своем собственном проекте IOS -

public class ICallService : ICall
{
    public bool OpenCallAction(string phoneNumber)
    {
        var number = new Uri(String.Format("tel:{0}", phoneNumber));
        return UIApplication.SharedApplication.OpenUrl(number);
    }
 }

Создайте класс в своем родном проекте Android -

public class ICallService : ICall
{

    public bool OpenCallAction(string phoneNumber)
    {
        var number = new Uri(String.Format("tel:{0}", phoneNumber));
        return true;
    }

Служба зависимости вызовов ViewModel / View в проекте PCL

 DependencyService.Get<ICall>().OpenCallAction("738284739")
...