pathsense-samples-android icon indicating copy to clipboard operation
pathsense-samples-android copied to clipboard

Sample Applications for the PathSense SDK

Pathsense Samples for Android

A collection of sample applications demonstrating how to use the Pathsense SDK. For more information, take a look at the Javadocs or connect with us on our website or developer portal.

You can see the additional information for each sample in their respective README files.

  • Activity API Demo
  • GeoFence API Demo
  • In-Vehicle Location API Demo

Setup for Pathsense Android SDK

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

  2. 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.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 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.

  3. Save AndroidManifest.xml.

  4. Place pathsense-android-sdk-location-bundle-release-4.1.0.0.aar under /libs

  5. 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.1.0.0', 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"
    
  6. Save build.gradle.

  7. Re-build application.

How to customize foreground notification

The PathSense SDK runs as a foreground service and will post a foreground notification while in use.
By default, it will show the PathSense icon and read "Pathsense is running". You can fully customize this notification by implementing com.pathsense.android.sdk.location.PathsenseNotificationFactory and providing your own foreground notification.
Setup includes the following:

  1. Implement com.pathsense.android.sdk.location.PathsenseNotificationFactory and override the desired functionality. See javadoc

    createForegroundNotification: Returns the foreground notification used by PathsenseLocationProviderAPI.

    createForegroundNotificationId: Returns the ID used for foreground notification.

    ** Note: Returning the same notification and ID used by all other app foreground services allows the foreground notification to be shared and results in a single foreground notification. See android javadoc

  2. Add pathsense.properties under the <module-dir>/src/main/assets folder of your app. Add the /assets folder if not already there.

  3. Set the following property notification_factory_class to the fully qualified class name.

    In <module-dir>/src/main/assets/pathsense.properties:

    notification_factory_class=com.myapp.MyPathsenseNotificationFactory
    
  4. Update your proguard rules to prevent obfuscation of the notification factory class.

    In <module-dir>/proguard-rules.pro:

    -keep class com.myapp.MyPathsenseNotificationFactory {
    	*;
    }