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
相关推荐
OH_TPC7 小时前
HarmonyOS APP开发---“滤镜大师“图像处理App,需要用到这个库2501_9197490310 小时前
华为鸿蒙管理密码APP—小羊密码ITUnicorn13 小时前
【HarmonyOS】时间管理类APP:做成“自适应“笔触狂放14 小时前
第2章 ArkTS(上)新元代码15 小时前
探秘鸿蒙南向开发:Hi3861 架构、编译与实战全解析笔触狂放15 小时前
第1章 初识鸿蒙xiaoxiangsiyan15 小时前
企业园区局域网交换技术完整版手册主打华为设备小雨青年16 小时前
【HarmonyOS 7 沉浸光感深度实战】 06 复杂背景下的自动反色与可读性处理水深火乐17 小时前
HmarkX(码笺)的本地数据库模块重构实战大锅盖117 小时前
Map 搜索没有返回可信候选时,派单页面该怎么继续工作