Book Image

Xamarin Mobile Development for Android Cookbook

By : Matthew Leibowitz
Book Image

Xamarin Mobile Development for Android Cookbook

By: Matthew Leibowitz

Overview of this book

Xamarin is used by developers to write native iOS, Android, and Windows apps with native user interfaces and share code across multiple platforms not just on mobile devices, but on Windows, Mac OS X, and Linux. Developing apps with Xamarin.Android allows you to use and re-use your code and your skills on different platforms, making you more productive in any development. Although it’s not a write-once-run-anywhere framework, Xamarin provides native platform integration and optimizations. There is no middleware; Xamarin.Android talks directly to the system, taking your C# and F# code directly to the low levels. This book will provide you with the necessary knowledge and skills to be part of the mobile development era using C#. Covering a wide range of recipes such as creating a simple application and using device features effectively, it will be your companion to the complete application development cycle. Starting with installing the necessary tools, you will be guided on everything you need to develop an application ready to be deployed. You will learn the best practices for interacting with the device hardware, such as GPS, NFC, and Bluetooth. Furthermore, you will be able to manage multimedia resources such as photos and videos captured with the device camera, and so much more! By the end of this book, you will be able to create Android apps as a result of learning and implementing pro-level practices, techniques, and solutions. This book will ascertain a seamless and successful app building experience.
Table of Contents (20 chapters)
Xamarin Mobile Development for Android Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Making phone calls


Our app may need to initiate a phone call from within the app without the user having to leave the current context.

How to do it...

To initiate a call directly from within our app, we use an Intent instance:

  1. We first need to ensure that the device has telephony features. There are two ways to do this; one way is to use attributes:

    [assembly: UsesFeature(
      Android.Content.PM.PackageManager.FeatureTelephony)]

    Alternatively, we can check for the telephony feature using the HasSystemFeature() method at runtime:

    var hasTelephony = PackageManager.HasSystemFeature(
      Android.Content.PM.PackageManager.FeatureTelephony);
    if (hasTelephony) {
      // do something
    }
  2. If we are running on a device with telephony features, we still need to request permissions to start phone calls:

    [assembly: UsesPermission(Manifest.Permission.CallPhone)]
  3. Finally, we can make the phone call using the ActionCall action intent:

    var number = "0123456789";
    var intent = new Intent(Intent.ActionCall);
    intent.SetData(Uri...