后台长时任务启动失败怎么办?

问题现象

FA模型调用featureAbility.startAbility()接口启动ServiceAbility,在ServiceAbility中启动后台长时任务报错,错误信息:{"code":201,"message":"BussinessError 201: Permission denied."}。

阅读 243
1 个回答

原因分析

未正确配置长时任务权限以及声明相应的后台模式类型。

解决措施

启动后台长时任务需要在module.json5文件中配置长时任务权限ohos.permission.KEEP_BACKGROUND_RUNNING,同时为需要使用长时任务的ability声明相应的后台模式类型。

"module": { 
    "abilities": [ 
        { 
            "backgroundModes": [ 
            "dataTransfer", 
            "location" 
            ], // 后台模式类型 
        } 
    ], 
    "requestPermissions": [ 
        { 
            "name": "ohos.permission.KEEP_BACKGROUND_RUNNING"  // 长时任务权限 
        } 
    ] 
}

参考链接

ServiceAbility组件配置-后台模式类型、长时任务

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进