Access Token Changelog

cl.access_token.1 Behavior Change When Location Permission Is Requested by requestPermissionsFromUser

Access Level

Public

Reason for Change

According to privacy protection requirements, the location permission is added with the Allow only while in use option. When the location permission is required, the ohos.permission.LOCATION_IN_BACKGROUND permission cannot be granted in a dialog box.

Change Impact

This change is a non-compatible change. The location permission is added with the Allow only while in use option. When the location permission is required, the ohos.permission.LOCATION_IN_BACKGROUND permission cannot be granted in a dialog box.

The following scenarios are involved:

  • The application applies for only the ohos.permission.LOCATION_IN_BACKGROUND permission (the ohos.permission.LOCATION permission has not been granted).

    Before the change:

    A dialog box will be displayed for granting the ohos.permission.LOCATION_IN_BACKGROUND permission.

    After the change:

    No dialog box will be displayed for granting the ohos.permission.LOCATION_IN_BACKGROUND permission.

  • The application applies for only the ohos.permission.LOCATION_IN_BACKGROUND permission (the ohos.permission.LOCATION permission has been granted).

    Before the change:

    No dialog box will be displayed, but the ohos.permission.LOCATION_IN_BACKGROUND permission is granted when the ohos.permission.LOCATION permission is granted for the first time.

    After the change:

    No dialog box will be displayed for granting the ohos.permission.LOCATION_IN_BACKGROUND permission.

  • The application applies for both the ohos.permission.LOCATION and ohos.permission.LOCATION_IN_BACKGROUND permissions.

    Before the change:

    A dialog box containing Allow and Deny will be displayed for granting the two permissions.

    After the change:

    • API version 10 and earlier: A dialog box containing Allow only while in use and Deny will be displayed. If Allow only while in use is selected, only the ohos.permission.LOCATION permission is granted.
    • API version 11 and later: No dialog box will be displayed.

API Level

9

Change Since

OpenHarmony SDK 4.1.5.3

Key API/Component Changes

requestPermissionsFromUser in @ohos.abilityAccessCtrl.d.ts

Affected APIs

File API
@ohos.geolocation.d.ts geolocation.on('locationChange')
@ohos.geolocation.d.ts geolocation.off('locationChange')
@ohos.geolocation.d.ts geolocation.on('locationServiceState')
@ohos.geolocation.d.ts geolocation.off('locationServiceState')
@ohos.geolocation.d.ts geolocation.on('cachedGnssLocationsReporting')
@ohos.geolocation.d.ts geolocation.off('cachedGnssLocationsReporting')
@ohos.geolocation.d.ts geolocation.on('gnssStatusChange')
@ohos.geolocation.d.ts geolocation.off('gnssStatusChange')
@ohos.geolocation.d.ts geolocation.on('nmeaMessageChange')
@ohos.geolocation.d.ts geolocation.off('nmeaMessageChange')
@ohos.geolocation.d.ts geolocation.on('fenceStatusChange')
@ohos.geolocation.d.ts geolocation.off('fenceStatusChange')
@ohos.geolocation.d.ts geolocation.getCurrentLocation
@ohos.geolocation.d.ts geolocation.getLastLocation
@ohos.geolocation.d.ts geolocation.isLocationEnabled
@ohos.geolocation.d.ts geolocation.requestEnableLocation
@ohos.geolocation.d.ts geolocation.isGeoServiceAvailable
@ohos.geolocation.d.ts geolocation.getAddressesFromLocation
@ohos.geolocation.d.ts geolocation.getAddressesFromLocationName
@ohos.geolocation.d.ts geolocation.getCachedGnssLocationsSize
@ohos.geolocation.d.ts geolocation.flushCachedGnssLocations
@ohos.geolocation.d.ts geolocation.sendCommand
@ohos.geolocation.d.ts SatelliteStatusInfo
@ohos.geolocation.d.ts CachedGnssLocationsRequest
@ohos.geolocation.d.ts GeofenceRequest
@ohos.geolocation.d.ts Geofence
@ohos.geolocation.d.ts ReverseGeoCodeRequest
@ohos.geolocation.d.ts GeoCodeRequest
@ohos.geolocation.d.ts GeoAddress
@ohos.geolocation.d.ts LocationRequest
@ohos.geolocation.d.ts CurrentLocationRequest
@ohos.geolocation.d.ts Location
@ohos.geoLocationManager.d.ts geoLocationManager.on('nmeaMessage')
@ohos.geoLocationManager.d.ts geoLocationManager.off('nmeaMessage')
@ohos.geoLocationManager.d.ts geoLocationManager.on('locatingRequiredDataChange')
@ohos.geoLocationManager.d.ts geoLocationManager.off('locatingRequiredDataChange')
@ohos.geoLocationManager.d.ts geoLocationManager.getLocatingRequiredData
@ohos.bluetooth.d.ts bluetooth.startBluetoothDiscovery
@ohos.bluetooth.d.ts startBLEScan
@ohos.bluetoothManager.d.ts bluetoothManager.startBluetoothDiscovery
@ohos.bluetoothManager.d.ts startBLEScan
@ohos.telephony.observer.d.ts observer.on('cellInfoChange')
@ohos.telephony.radio.d.ts radio.sendUpdateCellLocationRequest
@ohos.telephony.radio.d.ts radio.getCellInformation
@system.geolocation.d.ts GetLocationOption
@system.geolocation.d.ts SubscribeLocationOption
@system.geolocation.d.ts geolocation.getLocation
@system.geolocation.d.ts geolocation.subscribe
@system.geolocation.d.ts geolocation.unsubscribe
@ohos.wifi.d.ts wifi.scan
@ohos.wifi.d.ts wifi.getScanInfos
@ohos.wifi.d.ts wifi.getDeviceConfigs
@ohos.wifi.d.ts wifi.getStations
@ohos.wifi.d.ts wifi.getCurrentGroup
@ohos.wifi.d.ts wifi.getP2pPeerDevices
@ohos.wifi.d.ts wifi.p2pConnect
@ohos.wifi.d.ts wifi.startDiscoverDevices
@ohos.wifi.d.ts wifi.on('p2pDeviceChange')
@ohos.wifi.d.ts wifi.off('p2pDeviceChange')
@ohos.wifi.d.ts wifi.on('p2pPeerDeviceChange')
@ohos.wifi.d.ts wifi.off('p2pPeerDeviceChange')
@ohos.wifiManager.d.ts wifiManager.scan
@ohos.wifiManager.d.ts wifiManager.getScanResults
@ohos.wifiManager.d.ts wifiManager.getScanResultsSync
@ohos.wifiManager.d.ts wifiManager.getCandidateConfigs
@ohos.wifiManager.d.ts wifiManager.getDeviceConfigs
@ohos.wifiManager.d.ts wifiManager.getStations
@ohos.wifiManager.d.ts wifiManager.getCurrentGroup
@ohos.wifiManager.d.ts wifiManager.getP2pPeerDevices
@ohos.wifiManager.d.ts wifiManager.p2pConnect
@ohos.wifiManager.d.ts wifiManager.startDiscoverDevices
@ohos.wifiManager.d.ts wifiManager.getP2pGroups
@ohos.wifiManager.d.ts wifiManager.on('p2pDeviceChange')
@ohos.wifiManager.d.ts wifiManager.off('p2pDeviceChange')
@ohos.wifiManager.d.ts wifiManager.on('p2pPeerDeviceChange')
@ohos.wifiManager.d.ts wifiManager.off('p2pPeerDeviceChange')

Adaptation Guide

For details about the sample code, see requestPermissionsFromUser.