文档管理中心
推荐
最热
最新
其他
已解决
未解决
鸿蒙应用启动速度怎么进行优化,是要减少资源吗

评论0

浏览 3

发布于4分钟前
Mate60 Pro+什么时候可以升级鸿蒙7.0系统

评论0

浏览 6

发布于6分钟前
升级鸿蒙7.0后蓝牙耳机不能自动播放音乐,必须用手机打开音乐才能播放

评论1

浏览 7

发布于29分钟前
已解决
鸿蒙7推送
nova13系列还会推送鸿蒙7吗?如果会要多久

评论491

浏览 40.3k

发布于2026-06-17 23:49
在测试学习后台长时任务(https://developer.huawei.com/consumer/cn/doc/doccenter-capabilities/continuous-task)开发时,执行了taskpool并发任务,只是在权限中申请了后台运行(ohos.permission.KEEP_BACKGROUND_RUNNING),但是没有开启(backgroundTaskManager.startBackgroundRunning())后台任务。切回桌面,将应用置于后台,发现taskpool任务仍然在继续运行,只是运算速度变慢了。有哪位伙伴遇到过吗?这是什么情况?是应用进程没有被冻结吗?是否可以利用这个现象,在执行计算任务时,不申请taskKeeping受限权限(ohos.permission.KEEP_BACKGROUND_RUNNING_SYSTEM)呢?这样回到后台时,不开启后台任务,应用也不会被冻结。

评论0

浏览 6

发布于41分钟前
这个输入法皮肤好看,有喜欢的么

评论1

浏览 14

发布于49分钟前
如有,时长限制分别是多少?

评论2

浏览 14

发布于1小时前
升级完鸿蒙7.0以后,所有的系统内都没有变化,没有7.0的任何特效及功能咋回事啊?

评论115

浏览 13.5k

发布于2026-06-30 14:43
小鹿
|
采纳答复
点赞7
回复于2026-06-30 23:27
开发过程中在前后台切换时,切换后台会将sensor取消订阅并销毁subscriber,从后台恢复至前台时再重新创建subscriber并订阅所需传感器。目前了解到,当OH_Sensor_Unsubscribe失败后,直接调用 OH_Sensor_DestroySubscriptionId 和 OH_Sensor_DestroySubscriber 存在内存安全风险,特别是对 Subscriber 的销毁。遇到该场景,业务侧接受资源暂时泄漏的风险,避免更严重的崩溃;不重试OH_Sensor_Unsubscribe,而是选择不执行后续的OH_Sensor_DestroySubscriber、OH_Sensor_DestroySubscriptionAttribute、OH_Sensor_DestroySubscriptionId接口销毁资源。在这种开发流程下,重新创建时存在多个subscriber、attribute、id等实例,是否可能导致同一传感器事件被多个subscriber监听,导致的性能功耗问题或功能异常?

评论1

浏览 16

发布于1小时前
有人用DevEco CLI进行鸿蒙开发吗?是否好用,大家讨论下,之前用的IDE自带的ai,简直就是智障,现在鸿蒙开发,大家都用什么AI呢?

评论2

浏览 11

发布于1小时前
ArkTs 是否有类似 拼接路径方法 join 的API

评论1

浏览 14

发布于2小时前
Mate 80 Pro Max机型(设备型号代码:SGT-AL10),请问什么时候可以申请加入本轮招募白名单及开放呢?

评论115

浏览 8.1k

发布于2026-06-21 10:44
我近期在开发一个应用,在上架之前,想将某些功能设置为付费服务,或者是按次购买,或者是充值会员可体验的服务。个人开发者能满足这个资质要求吗

评论0

浏览 6

发布于2小时前
我在初学Flex弹性布局时,认为是与css相似的flex弹性布局一致,但在使用alignSelf时发现只要Flex容器设置的换行Wrap,alignSelf就会失效,下面我贴出来了代码,是这里与css的flex有差异还是我对布局的理解有问题,希望指出进行学习。Flex({ alignItems: ItemAlign.Center, wrap: FlexWrap.Wrap }) { Text('1') .width(100) .height(100) .backgroundColor(Color.Red) .alignSelf(ItemAlign.Start) Text('2') .width(100) .height(200) .backgroundColor(Color.Pink) Text('3') .width(100) .height(100) .backgroundColor(Color.Green) Text('4') .width(100) .height(100) .backgroundColor(Color.Blue) } .height(500) .width('100%') .backgroundColor(Color.Gray) }

评论2

浏览 26

发布于2小时前
有接入火山点播的sdk的吗,关于 m3u8格式的视频,不支持预加载HSL.做短剧项目,类似抖音的刷剧页。如何做到视频无缝滑动切首帧?

评论0

浏览 27

发布于2小时前
现在手机耗电快,基本上必须带一个充电宝

评论65

浏览 4k

发布于2026-06-15 08:18
onSurfaceChanged()回调是否会在onSurfaceCreate()回调后进行一次触发?相关文档中描述为:OnSurfaceChanged回调触发时刻:OnSurfaceCreated回调成功触发且Surface大小变化触发重新布局之后触发。Native侧OnSurfaceChanged的时序如下图:但是实际使用该接口时,在onSurfaceCreate之后是能直接跳转到Changed并且执行一次触发的。请大家指教!

评论1

浏览 19

发布于3小时前
最近在测试学习后台长时任务,使用真机测试(工程API22,设备6.1.0),遇到一个权限被拒的问题:Operation startBackgroundRunning failed. code is 201 message is BussinessError 201: Permission denied.测试代码是使用的官网示例(https://developer.huawei.com/consumer/cn/doc/doccenter-capabilities/api/js-apis-resourceschedule-backgroundtaskmanager#backgroundtaskmanagerstartbackgroundrunning21)代码。点击按钮执行后台任务,测试代码如下://动态申请授权 async function weizhiYB(context: common.UIAbilityContext,hd:() => void): Promise<void> { const perms: Array<Permissions> = [ 'ohos.permission.APPROXIMATELY_LOCATION', 'ohos.permission.LOCATION' ]; const atManager = abilityAccessCtrl.createAtManager(); const result = await atManager.requestPermissionsFromUser(context, perms); if (result.authResults.every(r => r === 0)) { // 定位权限授权成功后再申请 MODE_LOCATION 长时任务 // ... 调用 startBackgroundRunning 逻辑 hd(); } hilog.info(2,'后台任务','官网位置示例后台授权'); } Button('官网位置示例21') .height(50) .width('50%') .onClick(() => { weizhiYB(this.abilitySXW,() => { let wantAgentInfo: wantAgent.WantAgentInfo = { // 请开发者替换为实际被拉起应用的bundleName和abilityName wants: [ { bundleName:"",//因为特殊情况,已删除包名、模块名 moduleName:"", abilityName:"CSability", } ], // 设置点击通知后的动作类型 actionType: wantAgent.OperationType.START_ABILITY, // 开发者自定义的请求码,用于标识将被执行的动作 requestCode: 0, // 设置点击通知后的动作执行属性 wantAgentFlags: [wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG] }; try { // 通过wantAgent模块下getWantAgent方法获取WantAgent对象 // 在元服务中,请使用wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj: object) => {替换下面一行代码 wantAgent.getWantAgent(wantAgentInfo).then((wantAgentObj: WantAgent) => { try { // 如果要合并通知,主类型和子类型都必须相同,combinedTaskNotification为true,continuousTaskId必须存在且合法 // 申请主类型为MODE_LOCATION的长时任务 let modeList: Array<number> = [backgroundTaskManager.BackgroundTaskMode.MODE_LOCATION]; let subModeList: Array<number> = [backgroundTaskManager.BackgroundTaskSubmode.SUBMODE_NORMAL_NOTIFICATION]; let continuousTaskRequest = new backgroundTaskManager.ContinuousTaskRequest(); continuousTaskRequest.backgroundTaskModes = modeList; continuousTaskRequest.backgroundTaskSubmodes = subModeList; continuousTaskRequest.wantAgent = wantAgentObj; continuousTaskRequest.combinedTaskNotification = false; continuousTaskRequest.continuousTaskId = this.continuousTaskId; hilog.info(2,'后台任务','官网位置示例后台启动前'); backgroundTaskManager.startBackgroundRunning( this.getUIContext().getHostContext(), continuousTaskRequest).then((res: backgroundTaskManager.ContinuousTaskNotification) => { console.info(`Operation startBackgroundRunning succeeded. notificationId is ${res.notificationId} continuousTaskId is ${res.continuousTaskId}`); this.notificationId = res.notificationId; this.continuousTaskId = res.continuousTaskId; hilog.info(2,'后台任务','官网位置示例后台已启动'); }).catch((error: BusinessError) => { console.error(`Operation startBackgroundRunning failed. code is ${error.code} message is ${error.message}`); }); hilog.info(2,'后台任务','官网位置示例后台执行'); } catch (error) { console.error(`Operation startBackgroundRunning failed. code is ${(error as BusinessError).code} message is ${(error as BusinessError).message}`); } }); } catch (error) { console.error(`Operation getWantAgent failed. code is ${(error as BusinessError).code} message is ${(error as BusinessError).message}`); } }) })配置文件ability开启后台位置权限:{ "name": "CSability", "srcEntry": "", "description": "$string:CSability_desc", "icon": "$media:layered_image", "label": "$string:CSability_label", "startWindow": "$profile:qidongye", "startWindowIcon": "$media:startIcon", "startWindowBackground": "$color:start_window_background", "removeMissionAfterTerminate": true, "backgroundModes": ["location"] },配置文件申请位置权限:{ "name": "ohos.permission.APPROXIMATELY_LOCATION", "reason": "$string:quanxian_LY_ht", "usedScene": { "abilities": [ "CSability", "CSability2" ], "when": "inuse" } }, { "name": "ohos.permission.LOCATION", "reason": "$string:quanxian_LY_ht", "usedScene": { "abilities": [ "CSability", "CSability2" ], "when": "inuse" } }, { "name": "ohos.permission.KEEP_BACKGROUND_RUNNING_SYSTEM", "reason": "$string:quanxian_LY_ht", "usedScene": { "abilities": [ "CSability", ], "when": "always" } },调试凭据中也申请了后台权限:现在就是运行到backgroundTaskManager.startBackgroundRunning()就会报错:Operation startBackgroundRunning failed. code is 201 message is BussinessError 201: Permission denied.自己也测试过很多情况(重新卸载安装、不设置模块名、换其他版本的API),还是没找到原因,官网提单,昨天根据回复进行了测试,也没解决。今天一天也没回复。向各位伙伴请教下,针对上述测试代码,还有什么原因会导致权限拒绝呢?

评论13

浏览 56

发布于4小时前
157******26
|
采纳答复
开发者您好,错误码 201(Permission denied)的直接原因是 module.json5 的 requestPermissions 中声明的权限名错误:使用了 ohos.permission.KEEP_BACKGROUND_RUNNING_SYSTEM(system_core 级,仅系统核心应用可申请),而 startBackgroundRunning() 校验的是 ohos.permission.KEEP_BACKGROUND_RUNNING(normal 级,所有应用可申请)。两个是不同的权限,声明了错误的权限名导致权限校验失败。- ohos.permission.KEEP_BACKGROUND_RUNNING:APL 为 normal,所有应用均可申请,system_grant 类型,声明即生效。这是 startBackgroundRunning 接口明确要求的权限。- ohos.permission.KEEP_BACKGROUND_RUNNING_SYSTEM:APL 为 system_core,仅平台签名的系统核心应用可申请。普通三方应用声明此权限,安装时即被拒绝,更不可能通过 startBackgroundRunning 的权限校验。解决步骤参考如下:步骤1:将 module.json5 的 requestPermissions 中 ohos.permission.KEEP_BACKGROUND_RUNNING_SYSTEM 修改为 ohos.permission.KEEP_BACKGROUND_RUNNING。该权限为 normal 级 / system_grant 类型,声明后安装即自动授权,无需弹窗动态申请。步骤2:卸载应用后重新编译安装(requestPermissions 变更只有重新安装才会生效)。步骤3:重新运行,点击按钮触发长时任务申请。代码示例参考如下:module.json5 修改后:{   "name": "ohos.permission.KEEP_BACKGROUND_RUNNING",   "reason": "$string:keep_running_reason",   "usedScene": {     "abilities": ["CSability"],     "when": "always"   } }同时在 resources/base/element/string.json 中补充 reason 字符串:{ "name": "keep_running_reason", "value": "应用需要在后台持续运行定位导航任务" }验证方法参考如下:1. 修改配置后卸载应用,重新编译安装;2. 点击"官网位置示例21"按钮,在弹窗中授予位置权限("使用期间允许"即可通过长时任务校验);3. 观察日志出现 Operation startBackgroundRunning succeeded. notificationId is xxx continuousTaskId is xxx,且通知栏出现"正在运行定位任务"的常驻通知;4. 可过滤 Hilog 关键字 continuous task mode: 确认系统侧长时任务申请成功,或切后台验证进程不再被挂起。
点赞1
回复于2小时前
今天 14 点 30 分之后 云函数的请求就异常慢

评论4

浏览 49

发布于4小时前
看了平行视界,想着将应用也用一下试试,在平板、折叠屏设备开启平行视界,应用分为左右双栏,左侧列表,右侧详情。打开详情页面后,点击返回,有时候直接退出整个应用;部分业务弹窗、路由跳转逻辑,在平行视界双栏模式和普通单窗口模式表现不一致。部分页面跳转代码直接调用 router.pushUrl,没有区分平行视界模式,会造成页面栈混乱。

评论8

浏览 48

发布于4小时前
我们的业务分为两个 UIAbility,A 页面选择一批业务数据对象,需要跳转到 B 页面做业务处理。现在简单使用 want.parameters 传递对象,少量字段可以正常传递,当传递包含大数组、图片字节数组等大数据的时候,跳转直接失败,应用闪退或者参数接收为 undefined  。 这种Ability 针对大数据、复杂对象的传输,是不能这样传么

评论8

浏览 33

发布于5小时前
Nova12、13、14Mate60、70这个月有希望吗 都好久了 不会等到10月吧

评论32

浏览 1k

发布于2026-08-12 23:09

我要提问题

月度答复贡献榜
用户头像
橙动创意
回帖548
粉丝42
关注
用户头像
hid39826660
回帖327
粉丝11
关注
用户头像
空瞳
回帖324
粉丝59
关注
用户头像
蓝瘦的蜕变
回帖285
粉丝82
关注
用户头像
大雷神
回帖217
粉丝36
关注
邀您回答
换一批
200加载速度
个人开发者在应用内开启付费都需要什么资质
请问有遇到没有开启后台任务,但是并发任务任然在执行的情况吗?
Mate60 Pro+什么时候可以升级鸿蒙7.0系统
提交到AGC, 被检测出错误码993
热门标签
1

HarmonyOS 5

2

HarmonyOS 6

3

DevEco Studio

4

UI

5

HarmonyOS

6

ArkUI (方舟UI框架)

7

App开发

8

Ability框架

9

应用媒体

了解社区公约,与您携手共创和谐专业的开发者社区。
在 App 中查看