HarmonyOS 后台长时服务,类型为定位
我使用的地图加sdk。
export class BackgroundUtil {
/**
* Start background task.
*
* @param context
*/
public static startContinuousTask(context: common.UIAbilityContext): void {
let wantAgentInfo: wantAgent.WantAgentInfo = {
wants: [
{
bundleName: context.abilityInfo.bundleName,
abilityName: context.abilityInfo.name
}
],
operationType: wantAgent.OperationType.START_ABILITY,
requestCode: 0,
wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
};
wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj) => {
try {
backgroundTaskManager.startBackgroundRunning(context,
backgroundTaskManager.BackgroundMode.LOCATION, wantAgentObj).then(() => {
Logger.info(TAG, 'startBackgroundRunning succeeded');
}).catch((err: Error) => {
Logger.error(TAG, `startBackgroundRunning failed Cause: ${JSON.stringify(err)}`);
});
} catch (error) {
Logger.error(TAG, `stopBackgroundRunning failed. error: ${JSON.stringify(error)} `);
}
});
}
/**
* Stop background task.
*
* @param context
*/
public static stopContinuousTask(context: common.UIAbilityContext): void {
try {
backgroundTaskManager.stopBackgroundRunning(context).then(() => {
Logger.info(TAG, 'stopBackgroundRunning succeeded');
}).catch((err: Error) => {
Logger.error(TAG, `stopBackgroundRunning failed Cause: ${JSON.stringify(err)}`);
});
} catch (error) {
Logger.error(TAG, `stopBackgroundRunning failed. error: ${JSON.stringify(error)} `);
}
}
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
- 47.
- 48.
- 49.
- 50.
使用长时定位服务时,看起来不是正常调用
HarmonyOS
赞
收藏 0
回答 1
相关问题
申请网络类型后台长时任务需要哪些权限配置?
333浏览 • 0回复 待解决
后台长时任务启动失败
3029浏览 • 1回复 待解决
HarmonyOS 后台定位问题
1290浏览 • 1回复 待解决
后台长时任务启动失败报错码201
3399浏览 • 1回复 待解决
HarmonyOS 定位服务、地图服务
707浏览 • 1回复 待解决
HarmonyOS 定位服务
747浏览 • 1回复 待解决
#鸿蒙通关秘籍#HarmonyOS NEXT后台长时任务如何申请与管理?
1373浏览 • 1回复 待解决
HarmonyOS 后台长时任务运行超过10分钟后被系统kill
935浏览 • 1回复 待解决
websocket 是否可以在后台长时间运行,不被系统销毁?
2659浏览 • 1回复 待解决
HarmonyOS 音频播放,调用播控中心不生效,从日志看开启后台长时任务报错
1783浏览 • 1回复 待解决
HarmonyOS 页面跳转传值类型为自定义数据类型时闪退,如何正确页面跳转传值类型为自定义数据类型?
1110浏览 • 1回复 待解决
TextInput type类型为InputType.Number时不能输入空格?
1086浏览 • 1回复 待解决
开启定位的长时任务,切入后台后没有持续定位
1545浏览 • 1回复 待解决
HarmonyOS 系统定位及语音服务能力
956浏览 • 1回复 待解决
HarmonyOS 如何保持后台持续采集用户定位信息
850浏览 • 1回复 待解决
HarmonyOS router传参,结构包含多层时,内部属性类型为undefined
637浏览 • 1回复 待解决
鸿蒙手表后台持续定位不成功
1148浏览 • 0回复 待解决
HarmonyOS 后台服务接不到文件
887浏览 • 1回复 待解决
HarmonyOS 设置音效类型为MOVIE
563浏览 • 1回复 待解决
HarmonyOS 通过h5定位getCurrentPosition获取到的定位数据为空对象
779浏览 • 1回复 待解决
HarmonyOS 当参数可选类型为 string | number | Resource | Margin | MyInterface1 | MyInterface2 | MyClas时,如何区分参数类型
659浏览 • 1回复 待解决
鸿蒙next开发中如何获取定位服务?
586浏览 • 2回复 待解决
音频后台播放应用突然正常退出问题定位
1786浏览 • 1回复 待解决
位置服务是否可以传入type区分GNSS定位或者网络定位
2803浏览 • 1回复 待解决
可参考以下代码:
PermissionsUtil.ets代码:
module.json5文件中申请定位相关权限和后台任务权限
ohos.permission.LOCATION
ohos.permission.APPROXIMATELY_LOCATION
ohos.permission.LOCATION_IN_BACKGROUND
ohos.permission.KEEP_BACKGROUND_RUNNING
module.json5配置文件中为需要使用长时任务的UIAbility声明相应的长时任务类型(配置文件中填写长时任务类型的配置项)
参考文档:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/continuous-task-V5