public class NotificationPermissionRequest

  1. Object
  2. NotificationPermissionRequest

Describes which notification capabilities an app wants to request when calling com.codename1.ui.Display#requestNotificationPermission(NotificationPermissionRequest, NotificationPermissionCallback).

By default alert, sound and badge are requested. Additional options such as provisional, critical, timeSensitive, carPlay and announcement map to iOS UNAuthorizationOptions. On Android only the existence of any requested capability matters; the granular options that have no Android equivalent are ignored.

Usage

NotificationPermissionRequest req = new NotificationPermissionRequest()
        .provisional(true)
        .timeSensitive(true);
Display.getInstance().requestNotificationPermission(req, result -> {
    if (result.isGranted()) {
        // schedule notifications
    }
});

Constructors

public NotificationPermissionRequest()

Methods

public NotificationPermissionRequest alert(boolean b)Requests permission to display alerts.
public NotificationPermissionRequest sound(boolean b)Requests permission to play notification sounds.
public NotificationPermissionRequest badge(boolean b)Requests permission to update the app icon badge.
public NotificationPermissionRequest provisional(boolean b)Requests provisional authorization (iOS).
public NotificationPermissionRequest critical(boolean b)Requests permission to send critical alerts (iOS).
public NotificationPermissionRequest timeSensitive(boolean b)Requests the ability to mark notifications as time sensitive (iOS).
public NotificationPermissionRequest carPlay(boolean b)Requests permission to display notifications in CarPlay (iOS).
public NotificationPermissionRequest announcement(boolean b)Requests permission for Siri to read out notifications (iOS).
public NotificationPermissionRequest providesAppSettings(boolean b)Requests that the app provide its own in-app notification settings (iOS).
public boolean isAlert()Returns true if alert permission is requested.
public boolean isSound()Returns true if sound permission is requested.
public boolean isBadge()Returns true if badge permission is requested.
public boolean isProvisional()Returns true if provisional authorization is requested.
public boolean isCritical()Returns true if critical alert permission is requested.
public boolean isTimeSensitive()Returns true if the time sensitive interruption level is requested.
public boolean isCarPlay()Returns true if CarPlay permission is requested.
public boolean isAnnouncement()Returns true if announcement permission is requested.
public boolean isProvidesAppSettings()Returns true if the app advertises in-app notification settings.
public int toAuthorizationOptionsMask()Converts this request into the bitmask consumed by the iOS native layer.

Inherited methods

Constructor details

NotificationPermissionRequest

public NotificationPermissionRequest()

Method details

alert

public NotificationPermissionRequest alert(boolean b)
Requests permission to display alerts. Enabled by default.

Parameters

b boolean
true to request alert permission

Returns

this request for chaining

sound

public NotificationPermissionRequest sound(boolean b)
Requests permission to play notification sounds. Enabled by default.

Parameters

b boolean
true to request sound permission

Returns

this request for chaining

badge

public NotificationPermissionRequest badge(boolean b)
Requests permission to update the app icon badge. Enabled by default.

Parameters

b boolean
true to request badge permission

Returns

this request for chaining

provisional

public NotificationPermissionRequest provisional(boolean b)
Requests provisional authorization (iOS). Provisional notifications are delivered quietly to the notification center without an explicit prompt. Ignored on platforms that do not support it.

Parameters

b boolean
true to request provisional authorization

Returns

this request for chaining

critical

public NotificationPermissionRequest critical(boolean b)
Requests permission to send critical alerts (iOS). Critical alerts bypass Do Not Disturb and the mute switch and require a special Apple entitlement. Without the entitlement the request is silently downgraded. Ignored on platforms that do not support it.

Parameters

b boolean
true to request critical alert permission

Returns

this request for chaining

timeSensitive

public NotificationPermissionRequest timeSensitive(boolean b)
Requests the ability to mark notifications as time sensitive (iOS). Ignored on platforms that do not support it.

Parameters

b boolean
true to request the time sensitive interruption level

Returns

this request for chaining

carPlay

public NotificationPermissionRequest carPlay(boolean b)
Requests permission to display notifications in CarPlay (iOS). Ignored elsewhere.

Parameters

b boolean
true to request CarPlay permission

Returns

this request for chaining

announcement

public NotificationPermissionRequest announcement(boolean b)
Requests permission for Siri to read out notifications (iOS). Ignored elsewhere.

Parameters

b boolean
true to request announcement permission

Returns

this request for chaining

providesAppSettings

public NotificationPermissionRequest providesAppSettings(boolean b)
Requests that the app provide its own in-app notification settings (iOS). Ignored elsewhere.

Parameters

b boolean
true to advertise in-app notification settings

Returns

this request for chaining

isAlert

public boolean isAlert()
Returns true if alert permission is requested.

Returns

true if alerts are requested

isSound

public boolean isSound()
Returns true if sound permission is requested.

Returns

true if sound is requested

isBadge

public boolean isBadge()
Returns true if badge permission is requested.

Returns

true if badge is requested

isProvisional

public boolean isProvisional()
Returns true if provisional authorization is requested.

Returns

true if provisional authorization is requested

isCritical

public boolean isCritical()
Returns true if critical alert permission is requested.

Returns

true if critical alerts are requested

isTimeSensitive

public boolean isTimeSensitive()
Returns true if the time sensitive interruption level is requested.

Returns

true if time sensitive notifications are requested

isCarPlay

public boolean isCarPlay()
Returns true if CarPlay permission is requested.

Returns

true if CarPlay is requested

isAnnouncement

public boolean isAnnouncement()
Returns true if announcement permission is requested.

Returns

true if announcement is requested

isProvidesAppSettings

public boolean isProvidesAppSettings()
Returns true if the app advertises in-app notification settings.

Returns

true if the app provides its own settings

toAuthorizationOptionsMask

public int toAuthorizationOptionsMask()
Converts this request into the bitmask consumed by the iOS native layer. The bit values match the iOS UNAuthorizationOption constants.

Returns

the authorization options bitmask