

Wake locks are kept only for minimum required time to keep impact on battery consumption as low as possible. The WAKE_LOCK permission is not enforced by the HERE SDK, however, if the permission is granted for the application, HERE SDK will utilise wake locks to ensure that network scans and position calculation are not interrupted by the device going in power save mode. In that case, the LocationEngine would fail with a MISSING_PERMISSIONS error. The ACCESS_COARSE_LOCATION permission alone is not enough as it would result in an approximate precision which is not enough for HERE positioning to work. HERE positioning needs the fine location permission in order to use GNSS and to make cellular and WiFi scans. Therefore, ACCESS_COARSE_LOCATION and ACCESS_FINE_LOCATION permissions need to be present in your manifest file, as shown above.

When being prompted, it is not enough to select the "approximate" precision. If your application targets Android SDK version 31 or higher, users of your application need to grant the device's "precise" location. Receive Location updates and handle them in your app.īefore you can start using the LocationEngine in your app, you will need to add the required permissions to the app's AndroidManifest.xml file.Start the LocationEngine once and set the desired accuracy level.Create a LocationEngine and set at least one LocationListener.Show the outcome of the consent dialog and allow the user to revoke a previous decision.Create a ConsentEngine and show a consent dialog whether data can be collected by the LocationEngine or not.

