A plugin for monitoring notification on Android.
Add notifications
as a dependency in pubspec.yaml
. For help on adding as a dependency, view the documentation.
Add the following snippet of code inside the application
tag of yours AndroidManifest.xml
...
<service
android:label="notifications"
android:name="dk.cachet.notifications.NotificationListener"
android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
<intent-filter>
<action android:name="android.service.notification.NotificationListenerService" />
</intent-filter>
</service>
</application>
All incoming data points are streamed with a StreamSubscription
which is set up by calling the listen()
method on the notificationStream
stream object.
Given a method onData(NotificationEvent event)
the subscription can be set up as follows:
Notifications _notifications;
StreamSubscription<NotificationEvent> _subscription;
...
void onData(NotificationEvent event) {
print(event);
}
void startListening() {
_notifications = new Notifications();
try {
_subscription = _notifications!.notificationStream!.listen(onData);
} on NotificationException catch (exception) {
print(exception);
}
}
The stream can also be cancelled again by calling the cancel()
method:
void stopListening() {
_subscription?.cancel();
}
The NotificationEvent
provides:
- the title
- the message
- package name
- timestamp
of each notification.