Book Image

Android 9 Development Cookbook - Third Edition

By : Rick Boyer
Book Image

Android 9 Development Cookbook - Third Edition

By: Rick Boyer

Overview of this book

The Android OS has the largest installation base of any operating system in the world. There has never been a better time to learn Android development to write your own applications, or to make your own contributions to the open source community! With this extensively updated cookbook, you'll find solutions for working with the user interfaces, multitouch gestures, location awareness, web services, and device features such as the phone, camera, and accelerometer. You also get useful steps on packaging your app for the Android Market. Each recipe provides a clear solution and sample code you can use in your project from the outset. Whether you are writing your first app or your hundredth, this is a book that you will come back to time and time again, with its many tips and tricks on the rich features of Android Pie.
Table of Contents (24 chapters)
Title Page
Copyright and Credits
Dedication
About Packt
Contributors
Preface
Index

Creating and monitoring a Geofence


If your application needs to know when the user enters or exits a certain location, there's an alternative to continuously checking the user location: Geofencing. A Geofence is a location (latitude and longitude) along with a radius. You can create a Geofence and let the system notify you when the user enters the location proximity you specified. (Android currently allows up to 100 Geofences per user.)

Geofence properties include:

  • Location: The longitude and latitude
  • Radius: The size of the circle (in meters)
  • Loitering delay: How long the user may remain within the radius before sending notifications
  • Expiration: How long until the Geofence automatically expires
  • Transitiontype:
    • GEOFENCE_TRANSITION_ENTER
    • GEOFENCE_TRANSITION_EXIT
    • INITIAL_TRIGGER_DWELL

This recipe will show you how to create a Geofence object and use it to create an instance of GeofencingRequest.

Getting ready

Create a new project in Android Studio and call it Geofence. Use the default Phone & Tablet...