Class LocalNotification

java.lang.Object
com.codename1.notifications.LocalNotification

public class LocalNotification extends Object

Local notifications are user notifications that are scheduled by the app itself. They are very similar to push notifications, except that they originate locally, rather than remotely.

They enable an app that isnt running in the foreground to let its users know it has information for them. The information could be a message, an impending calendar event, or new data on a remote server. They can display an alert message or they can badge the app icon. They can also play a sound when the alert or badge number is shown.

When users are notified that the app has a message, event, or other data for them, they can launch the app and see the details. They can also choose to ignore the notification, in which case the app is not activated.

This class encapsulates a single notification (though the notification can be repeating).

Usage

// File: GeofenceListenerImpl.java
public class GeofenceListenerImpl implements GeofenceListener {
@Override
    public void onExit(String id) {
    }
@Override
    public void onEntered(String id) {
        if(!Display.getInstance().isMinimized()) {
            Display.getInstance().callSerially(() -> {
                Dialog.show("Welcome", "Thanks for arriving", "OK", null);
            });
        } else {
            LocalNotification ln = new LocalNotification();
            ln.setId("LnMessage");
            ln.setAlertTitle("Welcome");
            ln.setAlertBody("Thanks for arriving!");
            Display.getInstance().scheduleLocalNotification(ln, System.currentTimeMillis() + 10, LocalNotification.REPEAT_NONE);
        }
    }
}
// File: GeofenceSample.java
Geofence gf = new Geofence("test", loc, 100, 100000);
LocationManager.getLocationManager().addGeoFencing(GeofenceListenerImpl.class, gf);

Android Note: The default image that is used on the android top status bar and on the notification itself is the App's icon. However Android 5 and above will only display this image as a silhouette using alpha pixels. This will result in many icons appearing to be a blank white square. In such cases you can provide an alternate image to be displayed instead. Place a 24x24 image named "ic_stat_notify.png" in your project's native/android directory, and this image will be used instead.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Constant used in #setRepeatType(int) to indicate that this notification should be repeated every day.
    static final int
    Constant used in #setRepeatType(int) to indicate that this notification should be repeated every hour.
    static final int
    Constant used in #setRepeatType(int) to indicate that this notification should be repeated every 1 minute.
    static final int
    Constant used in #setRepeatType(int) to indicate that this notification should not be repeated.
    static final int
    Constant used in #setRepeatType(int) to indicate that this notification should be repeated every week.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    Gets the alert body to be displayed for this notification.
    Gets the notification image
    Gets the alert sound to be sounded when the notification arrives.
    Gets the alert title to be displayed for this notification.
    int
    Gets the badge number to set for this notification.
    Gets the ID of the notification.
    boolean
    Checks whether this notification will be displayed in the device's notification center even when the app is in the foreground.
    void
    setAlertBody(String alertBody)
    Sets the alert body to be displayed for this notification.
    void
    Sets an image to be displayed on the platform notifications bar, if the underlying platform supports image displaying otherwise the image will be ignored.
    void
    setAlertSound(String alertSound)
    Sets the alert sound to be sounded when the notification arrives.
    void
    setAlertTitle(String alertTitle)
    Sets the alert title to be displayed for this notification.
    void
    setBadgeNumber(int badgeNumber)
    Gets the badge number to set for this notification.
    void
    setForeground(boolean foreground)
    Set whether this notification should be displayed in the device's notification center even when the app is in the foreground.
    void
    Sets the ID of the notification.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • REPEAT_NONE

      public static final int REPEAT_NONE
      Constant used in #setRepeatType(int) to indicate that this notification should not be repeated.
      See Also:
    • REPEAT_MINUTE

      public static final int REPEAT_MINUTE
      Constant used in #setRepeatType(int) to indicate that this notification should be repeated every 1 minute.
      See Also:
    • REPEAT_HOUR

      public static final int REPEAT_HOUR
      Constant used in #setRepeatType(int) to indicate that this notification should be repeated every hour.
      See Also:
    • REPEAT_DAY

      public static final int REPEAT_DAY
      Constant used in #setRepeatType(int) to indicate that this notification should be repeated every day.
      See Also:
    • REPEAT_WEEK

      public static final int REPEAT_WEEK
      Constant used in #setRepeatType(int) to indicate that this notification should be repeated every week.
      See Also:
  • Constructor Details

    • LocalNotification

      public LocalNotification()
  • Method Details

    • getBadgeNumber

      public int getBadgeNumber()

      Gets the badge number to set for this notification.

      Returns

      the badgeNumber

    • setBadgeNumber

      public void setBadgeNumber(int badgeNumber)

      Gets the badge number to set for this notification.

      Parameters
      • badgeNumber: the badgeNumber to set
    • getAlertBody

      public String getAlertBody()

      Gets the alert body to be displayed for this notification.

      Returns

      the alertBody

    • setAlertBody

      public void setAlertBody(String alertBody)

      Sets the alert body to be displayed for this notification.

      Parameters
      • alertBody: the alertBody to set
    • getAlertTitle

      public String getAlertTitle()

      Gets the alert title to be displayed for this notification.

      Returns

      the alertTitle

    • setAlertTitle

      public void setAlertTitle(String alertTitle)

      Sets the alert title to be displayed for this notification.

      Parameters
      • alertTitle: the alertTitle to set
    • getAlertSound

      public String getAlertSound()

      Gets the alert sound to be sounded when the notification arrives. This should refer to a sound file that is bundled in the default package of your app.

      Returns

      the alertSound

    • setAlertSound

      public void setAlertSound(String alertSound)

      Sets the alert sound to be sounded when the notification arrives. This should refer to a sound file that is bundled in the default package of your app. The name of the file must start with the "notification_sound" prefix.

      java LocalNotification n = new LocalNotification(); n.setAlertSound("/notification_sound_bells.mp3");

      Parameters
      • alertSound: the alertSound to set
    • getId

      public String getId()

      Gets the ID of the notification. The ID is the only information that is passed to LocalNotificationCallback#localNotificationReceived(java.lang.String) so you can use it as a lookup key to retrieve the rest of the information as required from storage or some other mechanism.

      The ID can also be used to cancel the notification later using com.codename1.ui.Display#cancelLocalNotification(java.lang.String)

      Returns

      the id

    • setId

      public void setId(String id)

      Sets the ID of the notification. The ID is the only information that is passed to LocalNotificationCallback#localNotificationReceived(java.lang.String) so you can use it as a lookup key to retrieve the rest of the information as required from storage or some other mechanism.

      The ID can also be used to cancel the notification later using com.codename1.ui.Display#cancelLocalNotification(java.lang.String)

      Parameters
      • id: the id to set
    • getAlertImage

      public String getAlertImage()

      Gets the notification image

      Returns

      image path

    • setAlertImage

      public void setAlertImage(String image)

      Sets an image to be displayed on the platform notifications bar, if the underlying platform supports image displaying otherwise the image will be ignored.

      Parameters
      • image: a path to the image, the image needs to be placed in the app root.
    • isForeground

      public boolean isForeground()

      Checks whether this notification will be displayed in the device's notification center even when the app is in the foreground.

      Returns

      True if the notification will display in the device's notification center even when the app is in the foreground.

      Since

      7.0

    • setForeground

      public void setForeground(boolean foreground)

      Set whether this notification should be displayed in the device's notification center even when the app is in the foreground.

      Parameters
      • foreground: True to display this notification in the notification center even when the app is in the foreground.
      Since

      7.0