无长时任务的应用退后台禁止使用定位服务。
约束
未申请长时任务的应用退到后台后,应用未停止定位请求,系统会强制停止应用的定位请求。
示例
import { UIAbility } from '@kit.AbilityKit';
import { geoLocationManager } from '@kit.LocationKit';
export default class EntryAbility extends UIAbility {
// ...
onForeground(): void {
//在前台时按业务所需创建定位请求
let requestInfo: geoLocationManager.LocationRequest = {
'priority': geoLocationManager.LocationRequestPriority.ACCURACY,
'timeInterval': 0,
'distanceInterval': 0,
'maxAccuracy': 0
};
let locationChange = (location: geoLocationManager.Location): void => {
console.log('locationChanger:data:' + JSON.stringify(location));
};
//监听位置的变化
geoLocationManager.on('locationChange', requestInfo, locationChange);
}
onBackground(): void {
//退后台取消监听
geoLocationManager.off('locationChange', locationChange);
}
}