Android BroadcastReceivers

When extended and declared in the manifest, custom Android BroadcastReceivers allow overriding the default behavior of some plugin actions.

Notification Filter BroadcastReceiver

The NotificationFilterBroadcastReceiver class when extended, allows modifying and filtering notifications before they are shown. This class provides access to the application context and to the list of notifications that are going to be shown.

Intent-filter action name: ${applicationId}.plot.FilterNotifications

Geotrigger Handler BroadcastReceiver

The GeotriggerHandlerBroadcastReceiver class when extended, allows running custom code when handling geotriggers. This class provides access to the application context and to the list of geotriggers currently being handled.

Intent-filter action name: ${applicationId}.plot.HandleGeotriggers

Notification Handler BroadcastReceiver

The Notification Handler doesn't have a custom class, extending the BroadcastReceiver and overriding the open notification action, allows to define custom a custom behavior when a notification is clicked.

Intent-filter action name: ${applicationId}.plot.OpenNotification

Notification Event BroadcastReceiver

The Notification Event doesn't have a custom class, extending the BroadcastReceiver and overriding the sent and/or opened notification action(s), allows listening to these events and act upon them accordingly.

Intent-filter action names: ${applicationId}.plot.SentNotification and ${applicationId}.plot.OpenedNotification

Configuration Hook BroadcastReceiver

The ConfigHookBroadcastReceiver class when extended, allows setting plot configurations via code. This class provides access to the application context and to the configurations that are currently set.

This custom BroadcastReceiver offers an alternative to using the Notification Filter to bypass the issue associated with flaky loading of the notification icon via the configuration file.

Intent-filter action name: ${applicationId}.plot.ConfigHook

Location events

The plugin posts location change events. The location extra field contains the location with the type android.location.Location. This is documented in the chapter Receiving location events.

Intent-filter action name: ${applicationId}.plot.NewLocation