直接拨打电话Xamarin.Forms

Nim*_*ima 14 c# xamarin xamarin.forms

无论如何直接拨打电话而不打开xamarin.forms中的拨号器?

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

Vai*_*esh 6

当我们编写代码来启动语音调用时,我们必须了解Xamarin.Forms中的DependencyService.

Xamarin.Forms中的DependencyService可以从PCL或共享项目访问本机功能以及iOS,Android和Windows Phone SDK的一些特定于平台的实现.

要启动语音呼叫,有一些特定于平台的实现和权限.

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

http://csharpcorner.mindcrackerinc.netdna-cdn.com/UploadFile/e4bad6/code-to-start-call-in-xamarin-forms/Images/HomePage.jpg

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

http://csharpcorner.mindcrackerinc.netdna-cdn.com/UploadFile/e4bad6/code-to-start-call-in-xamarin-forms/Images/IPhoneCall.jpg

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

Android实现:在Android中实现界面之前,不要忘记在AndroidManifest.xml中设置一些权限.这些权限是在Android中调用语音呼叫所必需的.

http://csharpcorner.mindcrackerinc.netdna-cdn.com/UploadFile/e4bad6/code-to-start-call-in-xamarin-forms/Images/Android%20implementation.jpg

设置权限后,我们必须使用小类PhoneCall_Droid.cs实现接口.

http://csharpcorner.mindcrackerinc.netdna-cdn.com/UploadFile/e4bad6/code-to-start-call-in-xamarin-forms/Images/PhoneCall%20Droid.jpg

请参阅iOS和Windows实施示例.

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

http://csharpcorner.mindcrackerinc.netdna-cdn.com/UploadFile/e4bad6/code-to-start-call-in-xamarin-forms/Images/DependencyService.jpg


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



Jam*_*gno 3

只需使用消息传递插件即可从共享代码中执行此操作。效果很好: https: //github.com/cjlotz/Xamarin.Plugins