This article provides some small code snippets to start a voice call in Android, iOS and Windows Phones using Xamarin.Forms.
When we code to start a voice call, we must be aware of DependencyService in Xamarin.Forms.DependencyService in Xamarin.Forms provides access to the native functionality and some platform-specific implementations of the iOS, Android and Windows Phone SDKs from your PCL or Shared Project.To start a voice call there are some platform-specific implementations and permissions.1. The following is the procedure to implement the voice call in Xamarin.Forms. Let's create a ContentPage with an entry and a button as HomePage.cs.2. Create an interface IPhoneCall.cs in the shared code that shows the functionality that we intend to implement.3. The Interface must be implemented in each platform-specific application project.
Android implementation: Before implementing the interface in Android don't forget to set some permissions in AndroidManifest.xml. These permissions are necessary for invoking a voice call in Android.After setting the permissions we must implement the interface using a small class PhoneCall_Droid.cs.iOS implementation: implementing for iOS create a call named as PhoneCall_iOS.cs.*iOS implementationWindows Phone implementation: Windows Phone has a simple API to invoke the dialer, the only caveat is to remember to tick the ID_CAP_PHONEDIALER capability in the WMAppManifest.xml, otherwise access to the dialer APIs are blocked.The implementation is only two lines of code as in the following:4. We had completed implementing the interface and registering each specific platform. Now we can write DependencyService to get an instance of the interfaces.
Xamarin.Forms For Beginners