1.在module.json5中
"requestPermissions": [
{"name": "ohos.permission.INTERNET"},
{"name": "ohos.permission.GET_BUNDLE_INFO"},
{"name": "ohos.permission.KEEP_BACKGROUND_RUNNING"}
],
"pages": "$profile:main_pages",
"abilities": [
{
"name": "EntryAbility",
"backgroundModes": [
"dataTransfer" // 对应 BackgroundMode.DATA_TRANSFER
],
2.在EntryAblility中
async onForeground(): Promise<void> {
// Ability has brought to foreground
hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onForeground');
try {
const wantAgentInfo: wantAgent.WantAgentInfo = {
wants: [{ bundleName: 'com.xxx.xxx', abilityName: 'EntryAbility' }],
actionType: wantAgent.OperationType.START_ABILITY,
requestCode: 0,
actionFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
};
const wantAgentObj = await wantAgent.getWantAgent(wantAgentInfo);
const taskTypes = ['dataTransfer']; // 或 ['audioPlayback'], ['audioRecording'] 等
const res = await backgroundTaskManager.startBackgroundRunning(this.context, backgroundTaskManager.BackgroundMode.DATA_TRANSFER, wantAgentObj);
// console.info('后台长时任务已申请, notificationId:', res.notificationId);
} catch (e) {
console.error('申请后台长时任务失败:', JSON.stringify(e));
}
}
鸿蒙启动后台服务运行
安卓理事人2026-01-17 14:21
相关推荐
贾伟康2 小时前
HarmonyOS API 26 HMAF Skill 可解释任务计划与失败回退贾伟康3 小时前
HarmonyOS API 26 HMAF 2.0 意图解析的可解释动作图KevinChaos4 小时前
阳台小花园开发手记 03|HarmonyOS 7.0 互动卡片:叶片伸出边框仍与花盆对齐熬夜磕代码丶6 小时前
RN鸿蒙空间音频实战行者-全栈开发6 小时前
【鸿蒙心迹】通知与推送集成——emitter 本地通知与推送服务全链路(HarmonyOS 7.x)Nerd(BUG版)6 小时前
鸿蒙API18~26新增V2组件全解析贾伟康7 小时前
HarmonyOS API 26 Navigation 菜单项刷新态:stale 数据、重试与一致性Felven7 小时前
华为鲲鹏920s芯片serdestool工具使用说明c2892480843s18 小时前
【鸿蒙心迹】网络请求封装实战:RCP 选型、拦截器与弱网预算HarmonyOS_SDK1 天前
【剪贴板体验优化】前置预校验,航旅纵横权限弹窗体验更智能