c# - 直接调用电话 Xamarin.Forms

标签 c# xamarin xamarin.forms

有没有在xamarin.forms中不用打开拨号器直接打电话的?

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

最佳答案

当我们编码开始语音通话时,我们必须知道 DependencyService在 Xamarin.Forms 中。

Xamarin.Forms 中的 DependencyService 提供从您的 PCL 或共享项目访问 iOS、Android 和 Windows Phone SDK 的 native 功能和一些特定于平台的实现。

要开始语音通话,有一些特定于平台的实现和权限。

  1. 以下是在 Xamarin.Forms 中实现语音调用的过程。让我们创建一个包含条目和按钮的 ContentPage 作为 HomePage.cs。

enter image description here
(来源:netdna-cdn.com)

  1. 在显示我们打算实现的功能的共享代码中创建一个接口(interface) IPhoneCall.cs。

enter image description here
(来源:netdna-cdn.com)

  1. 接口(interface)必须在每个特定于平台的应用程序项目中实现。

Android 实现:在Android 中实现接口(interface)之前,不要忘记在AndroidManifest.xml 中设置一些权限。这些权限是在 Android 中调用语音调用所必需的。

enter image description here
(来源:netdna-cdn.com)

设置权限后,我们必须使用一个小类 PhoneCall_Droid.cs 实现接口(interface)。

enter image description here
(来源:netdna-cdn.com)

Refer Sample for iOS & Windows Implementation.

  1. 我们已经完成了接口(interface)的实现和每个特定平台的注册。现在我们可以编写 DependencyService 来获取接口(interface)的实例。

enter image description here
(来源:netdna-cdn.com)


样本:http://www.c-sharpcorner.com/UploadFile/e4bad6/code-to-start-call-in-xamarin-forms


关于c# - 直接调用电话 Xamarin.Forms,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33880505/

相关文章:

xamarin.forms - 在 Xamarin Forms 中保存和恢复页面

c# - .NET WinForms 中 UI 元素的授权

c# - 如何在 Unity 中使用不安全上下文

c# - List<T>.Enumerator IEnumerator.Reset()方法实现

ios - MonoTouch,ZXing : Presenting ZXingScannerViewController failed

c# - Xamarin Forms 图像大小不匹配

c# - 将复杂的数据结构从 C# 传递到 native dll

xamarin.ios - Monodevelop - 它什么时候保存 csproj 文件?

c# - 使用 Xamarin Android 版本 8、.net Standard 运行或不运行 ConfigureAwait(false) 以及服务和事件

c# - 我想添加一个字符串扩展方法。但是我应该在我的 Xamarin Forms 应用程序中的什么地方添加它以便它随处可用?