Skip to content
Branch: master
Find file History

Files

Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
libs
src Updated for 4.0.0.2 Release Nov 13, 2019
.gitignore Bring in sample code. Nov 3, 2015
README.md
build.gradle
pathsense-geofencedemo-app.iml Updated for 4.0.0.2 Release Nov 13, 2019
proguard-rules.pro

README.md

Setup for Pathsense Geofence Demo

  1. Obtain a Google Maps Android API Key from here.

  2. Obtain a Pathsense SDK Client ID and API Key from here. Click “GET STARTED” and enter your email address.

  3. In AndroidManifest.xml, add the following elements as children of the <application> element, by inserting them just before the closing </application> tag:

    <meta-data 
      android:name="com.google.android.maps.v2.API_KEY" 
      android:value="YOUR_GOOGLE_MAPS_API_KEY" />
          
    <meta-data 
      android:name="com.pathsense.android.sdk.CLIENT_ID" 
      android:value="YOUR_PATHSENSE_SDK_CLIENT_ID" />
    
    <meta-data 
      android:name="com.pathsense.android.sdk.API_KEY" 
      android:value="YOUR_PATHSENSE_SDK_API_KEY" />
    • Substitute your API_KEY key for YOUR_GOOGLE_MAPS_API_KEY in the value attribute. This element sets the key com.google.android.maps.v2.API_KEY to the value of your Google Maps Android API key.

    • Substitute your CLIENT_ID key for YOUR_PATHSENSE_SDK_CLIENT_ID in the value attribute. This element sets the key com.pathsense.android.sdk.CLIENT_ID to the value of your Pathsense SDK Client ID.

    • Substitute your API_KEY key for YOUR_PATHSENSE_SDK_API_KEY in the value attribute. This element sets the key com.pathsense.android.sdk.API_KEY to the value of your Pathsense SDK API key.

  4. Save AndroidManifest.xml.

  5. Place pathsense-android-sdk-location-bundle-release-4.0.0.2.aar under /libs

  6. In build.gradle, add the following:

    • to the repositories element:
    repositories {
      flatDir {
        dirs 'libs'
      }
    }
    • to the dependencies element:
    compile(name:'pathsense-android-sdk-location-bundle-release-4.0.0.2', ext:'aar')
    • for improved performance on Android Oreo and above add Google Play Services Location 15.0.1 or higher *not required
    compile "com.google.android.gms:play-services-location:15.0.1"
  7. Save build.gradle.

  8. Re-build application.

Adding a Geofence

  1. Create a Broadcast Receiver that will receive geofence events (i.e. ingress, egress).

    public class PathsenseGeofenceDemoGeofenceEventReceiver extends BroadcastReceiver
    {
      @Override
      public void onReceive(Context context, Intent intent)
      {  
        PathsenseGeofenceEvent geofenceEvent = PathsenseGeofenceEvent.fromIntent(intent);
        if (geofenceEvent != null)
        {
          if (geofenceEvent.isIngress())
          {
            // ingress
            // do something
          }
          else if (geofenceEvent.isEgress())
          {
            // egress
            // do something
          }
        }
      }
    }
  2. In AndroidManifest.xml, add the following element as a child of the <application> element, by inserting it just before the closing </application> tag:

    <receiver  
      android:name=".PathsenseGeofenceDemoGeofenceEventReceiver" />
  3. In MapActivity (or any other context object), instantiate the PathsenseLocationProviderApi:

    PathsenseLocationProviderApi api = PathsenseLocationProviderApi.getInstance(context);
  4. Add a geofence to be monitored by calling addGeofence with an ID, latitude, longitude, radius, and the receiver created in step #1:

    api.addGeofence("MYGEOFENCE", location.getLatitude(), location.getLongitude(), 100, PathsenseGeofenceDemoGeofenceEventReceiver.class);
    • until removeGeofence is called, the receiver will be notified whenever a geofence event (i.e. ingress, egress) occurs.
You can’t perform that action at this time.