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
相关推荐
AI备忘录4 分钟前
(二十二)华为华三锐捷迈普思科 802.1X 端口认证配置命令(网络准入五厂商对照)数据堂官方账号11 分钟前
数据堂联合华为共筑 AI 数据价值新引擎2501_9197490317 分钟前
华为鸿蒙免费主题壁纸工具—小羊免费壁纸梦想不只是梦与想1 小时前
华为AGC:应用留存分析三掌柜6661 小时前
ArkWeb 手记 05|H5 文件上传怎么接李洋-蛟龙腾飞公司1 小时前
HarmonyOS Dev Assistant安装基本流程与使用(一)Sunny_GMF1 小时前
所见即所得编辑器原理实战:源码与渲染永不失真的三层一致性设计(Markdown/CodeMirror 装饰)fellow991 小时前
鸿蒙真机调试三板斧:Playwright 为什么驱动不了 Electron-on-鸿蒙GitCode官方2 小时前
开源鸿蒙跨平台直播|Flutter HCPP 开源鸿蒙实践:让原生视图回到系统合成层动物园猫2 小时前
Compose Multiplatform 三方库 Calendar(kizitonwose)的 OpenHarmony 鸿蒙化适配实战