• All Known Implementing Classes:
    LocationEngine

    public interface LocationEngineBase

    Public interface that describes the behaviour of LocationEngine. Implementation is platform-specific.

    • Method Detail

      • stop

        void stop()

        Stops the location engine.

      • confirmHEREPrivacyNoticeInclusion

        @NonNull
        ConfirmationStatus confirmHEREPrivacyNoticeInclusion()

        It is the responsibility of the application developer to ensure that the application user is informed about the collection of characteristic information regarding nearby mobile and Wi-Fi network signals. Additionally, a link to the related HERE Privacy Notice must be made available to the user.

        This information can be included in the application's Terms & Conditions, Privacy Policy, or otherwise made accessible to the user.

        An example text for informing users about the data collection: "This application uses location services provided by HERE Technologies. To maintain, improve, and provide these services, HERE Technologies occasionally collects characteristic information about nearby mobile and Wi-Fi network signals. For more information, please refer to the HERE Privacy Notice at: https://legal.here.com/en-gb/here-network-positioning-via-sdk"

        Note: By calling this method, the application developer confirms that this information is made available to the end user.

        For example, it is sufficient to inform users once that using the app requires acceptance of its terms (if any). Then, in the terms include the above mentioned data collection information and a link to the related HERE Privacy Notice. The user is not required to open the terms to acknowledge the data collection details. The "Positioning" example app on GitHub provides an example of this.

        When the above criteria are met, it is recommended to silently execute this method each time before starting the LocationEngine, as failure to do so will result in the engine being non-functional.

        Returns:

        Immediately returns with ConfirmationStatus.OK.

      • confirmHEREPrivacyNoticeException

        @NonNull
        ConfirmationStatus confirmHEREPrivacyNoticeException()

        By calling this method, the application developer confirms that they have received an exceptional permission from HERE in written form to not include a reference to the HERE Privacy Notice. As a result, the LocationEngine will not collect characteristic information about the nearby mobile and Wi-Fi network signals. However, the engine will still be fully functional and it will deliver location updates when the exception can be confirmed. Note that this call should not involve user interaction and it should be executed silently by the application before starting the LocationEngine.

        The permission for exceptional use will be verified asynchronously using your HERE SDK credentials. A missing permission will lead to stopping of the LocationEngine and LocationEngineStatus.PRIVACY_NOTICE_UNCONFIRMED is delivered to LocationStatusListener.

        Returns:

        Confirmation action status. Valid values are defined in ConfirmationStatus. A first-time call may result in ConfirmationStatus.PENDING, make sure to use the LocationStatusListener to get notified on an unconfirmed permission.

      • addLocationListener

        void addLocationListener​(@NonNull
                                 LocationListener listener)

        Adds a LocationListener to the engine to get notified when there is a new location update available. Supports more than one listener, instance is added only once.

        Parameters:
        listener -

        The listener.

      • removeLocationListener

        void removeLocationListener​(@NonNull
                                    LocationListener listener)

        Removes a LocationListener from the engine.

        Parameters:
        listener -

        The listener.

      • addLocationStatusListener

        void addLocationStatusListener​(@NonNull
                                       LocationStatusListener listener)

        Adds a LocationStatusListener to the engine to get notified when there is an important status change. Supports more than one listener, instance is added only once.

        Parameters:
        listener -

        The listener.

      • removeLocationStatusListener

        void removeLocationStatusListener​(@NonNull
                                          LocationStatusListener listener)

        Removes a LocationStatusListener from the engine.

        Parameters:
        listener -

        The listener.

      • addLocationIssueListener

        void addLocationIssueListener​(@NonNull
                                      LocationIssueListener listener)

        Adds a LocationIssueListener to the engine to get notified when a location issue has occurred. Supports more than one listener, instance is added only once.

        Parameters:
        listener -

        The listener.

      • removeLocationIssueListener

        void removeLocationIssueListener​(@NonNull
                                         LocationIssueListener listener)

        Removes a LocationIssueListener from the engine.

        Parameters:
        listener -

        The listener.

      • setLastKnownLocationPersistent

        @NonNull
        LocationEngineStatus setLastKnownLocationPersistent​(boolean persistent)

        Enables or disables saving of last known location so that it persists between application sessions. Defaults to enabled.

        Parameters:
        persistent -

        Set to true to enable last known location to be saved persistently, or false to disable it.

        Returns:

        LocationEngineStatus.OK if call succeeds. LocationEngineStatus.NOT_SUPPORTED on platforms which do not support controlling of last known location saving.

      • getLastKnownLocation

        @Nullable
        Location getLastKnownLocation()

        Gets the last known location obtained by the LocationEngine. It is persisted throughout the app's lifecycle. This property can be obtained without starting the LocationEngine. However, the initial value might be null if no location has ever been obtained by the LocationEngine. The time attribute of the Location object indicates when the last location was obtained. Note: In order to receive continuous location updates, add a LocationListener.

        Returns:

        The last known location obtained by the LocationEngine. It is persisted throughout the app's lifecycle. This property can be obtained without starting the LocationEngine. However, the initial value might be null if no location has ever been obtained by the LocationEngine. The time attribute of the Location object indicates when the last location was obtained. Note: In order to receive continuous location updates, add a LocationListener.

      • isStarted

        boolean isStarted()

        Checks if the engine is in started state.

        Returns:

        Checks if the engine is in started state.