申请长时任务报错,HarmonyOS 鸿蒙Next日志如下
Failed to operation startBackgroundRunning. Code is 9800005, message is BussinessError 9800005: Continuous Task verification failed. The bgMode is invalid.
代码如下:
async startContinuousTask() {
let wantAgentInfo: wantAgent.WantAgentInfo = {
// 点击通知后,将要执行的动作列表
// 添加需要被拉起应用的bundleName和abilityName
wants: [
{
bundleName: "com.xxx.xxxx",
abilityName: "EntryAbility"
}
],
// 指定点击通知栏消息后的动作是拉起ability
actionType: wantAgent.OperationType.START_ABILITY,
// 使用者自定义的一个私有值
requestCode: 0,
// 点击通知后,动作执行属性
actionFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
};
// 通过wantAgent模块下getWantAgent方法获取WantAgent对象
wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj: WantAgent) => {
backgroundTaskManager.startBackgroundRunning(this.context,
backgroundTaskManager.BackgroundMode.AUDIO_RECORDING, wantAgentObj).then(() => {
// 此处执行具体的长时任务逻辑,如放音等。
console.info(`Succeeded in operationing startBackgroundRunning.`);
}).catch((err: BusinessError) => {
console.error(`Failed to operation startBackgroundRunning. Code is ${err.code}, message is ${err.message}`);
});
});
}
已经添加了权限
{
"name": "ohos.permission.KEEP_BACKGROUND_RUNNING",
"reason": "$string:app_name",
"usedScene": {
"abilities": [
"EntryAbility"
],
"when":"always"
}
}
更多关于申请长时任务报错,HarmonyOS 鸿蒙Next日志如下的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
出现9800005表示长时任务校验失败,可参照以下文档来解决问题:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/errorcode-backgroundtaskmgr-V5#section9800005-长时任务校验失败 ,只有PC设备才能申请长时任务KEEPING_TASK。
更多关于申请长时任务报错,HarmonyOS 鸿蒙Next日志如下的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
针对您提到的在HarmonyOS鸿蒙Next系统中申请长时任务报错的问题,根据日志信息(尽管未具体展示),可能的原因及解决方案通常涉及以下几个方面:
-
权限问题:
- 确保应用已正确声明所需权限,特别是与后台任务、定时任务相关的权限。
- 检查是否因系统策略限制,导致部分权限在特定版本或配置下不可用。
-
API使用不当:
- 验证长时任务API的使用是否符合官方文档规范,包括参数设置、调用时机等。
- 特别注意API的版本兼容性,确保使用与当前系统匹配的API版本。
-
系统资源限制:
- 系统可能因资源紧张(如内存、CPU)而拒绝新任务请求。
- 检查系统资源使用情况,优化应用资源占用,或尝试在资源较为宽松时申请任务。
-
日志分析:
- 深入分析错误日志,查找具体的错误代码或异常信息,这些通常能提供更直接的线索。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。在那里,您可以获得更专业的技术支持和解决方案。