在iPhone上拨号时如何停止出现确认对话框?

时间:2017-04-07 22:41:10

标签: ios iphone xamarin.ios

我在iOS代码中使用DependencyService拨打Xamarin Forms应用程序中的电话号码,如下所示:

var url = new NSUrl ("tel:" + phoneNumber);
if (!UIApplication.SharedApplication.OpenUrl (url)) {
    var av = new UIAlertView ("Not supported",
      "Scheme 'tel:' is not supported on this device",
      null,
      "OK",
      null);
    av.Show ();
};

注意我使用tel而不是telprompt

我在iPhone 6和iPhone 4上测试过,它按预期工作。但是,在iPhone 6S上,它会弹出一个如下所示的确认对话框(截图来自互联网,而非我的应用):

enter image description here

根据this question的答案,从应用中拨打号码不应该显示任何对话框,只有在从Safari内拨号时才显示,{{3} }:

  

tel URL方案用于在iOS设备上启动Phone应用程序并启动拨打指定的电话号码。当用户点击网页中的电话链接时,iOS会显示一条警告,询问用户是否确实要拨打电话号码并在用户接受时启动拨号。 当用户在本机应用中打开带有tel方案的URL时,iOS不会显示警报并启动拨号而不会进一步提示用户。但是,可以将本机应用程序配置为显示自己的警报

然而,这款手机上的应用程序正在发生这种情况。据我所知,没有配置更改或第三方软件正在实现这一点。这是一个问题,因为我已经弹出了我自己的确认对话框,因此要求用户确认两次。如果我删除了我的对话框,那么在其他手机上就不会有任何确认对话框,这也是不可接受的。另一个令人烦恼的是,它表明该设备不支持""消息,如果用户点击取消,这是错误的,所以我将不得不将其更改为更模糊和通用的东西。一种解决方法可能是使用telprompt代替始终显示对话框,并删除我自己的对话框,但我不想这样做,因为我还需要在对话框中显示其他一些东西,所以我想要有一个自定义的。

如何停止显示此呼叫确认对话框,或者如果不可能,我该如何检测它是否会出现,以至于我无法自动弹出?

0 个答案:

没有答案