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
相关推荐
ToDesk_Daas10 小时前
深度适配鸿蒙生态,ToDesk 迎来版本升级,全面优化远程操控体验贾伟康10 小时前
【化学实验室|15】HarmonyOS ArkTS 本地状态持久化实战:让保存、删除和页面返回后的数据即时一致行者-全栈开发17 小时前
【共创稿事节】HarmonyOS 7 轻量悬浮窗口选型与闪控窗接入:闪控球、闪控窗、系统悬浮窗到底怎么选OH_TPC18 小时前
@ohos/axios 源码解读(二):适配层是一场翻译,而翻译要处理四类错位fleaxin20 小时前
华为 Atlas 300V 兼容性测试报告腾科IT教育21 小时前
HCIP-Security 华为Portal认证技术与配置解析CV工程师丁Sir1 天前
ArkWeb 手记 11:Web 组件与原生动画的协同李&@杰1 天前
交换机网络环路导致MAC漂移及业务中断故障处理CV工程师丁Sir1 天前
ArkWeb 手记 12:Web 组件内存泄漏排查实录用户29469405448162 天前
DSH Desktop - Electron on HarmonyOS Edition