文档管理中心
推荐
最热
最新
其他
已解决
未解决
父组件改对象,子组件不动;子组件改 @Link,父组件又炸。@Observed 加 @ObjectLink 必须配对?嵌套对象咋办?每次都得拆组件吗?

评论0

浏览 2

发布于3分钟前
应用接入 Speech Kit 朗读功能,用户在文章详情页快速切换文章或退出页面时,偶尔出现旧文章继续朗读、朗读内容与页面不一致的问题。应如何管理朗读控件与页面生命周期,处理正文异步加载,并保证文章切换时朗读状态正确?

评论0

浏览 1

发布于4分钟前
@Builder 传对象参数,父组件变了子 Builder 不刷新。@Styles 里又不能用状态。到底哪些能响应式,哪些是静态的?每次都要改成自定义组件吗?

评论0

浏览 1

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

评论236

浏览 13k

发布于2026-06-21 10:44
会员应用需要支持用户点击订单通知后直接进入订单详情。应用未启动、已在后台以及登录失效时,当前跳转行为不一致,有时还会重复打开两个详情页。应如何统一处理 UIAbility 的冷启动与热启动入口,并实现“保存目标订单—完成登录—校验访问权限—进入详情”的流程?

评论0

浏览 1

发布于6分钟前
TaskPool 里不能直接改 @State,只能 postMessage 回来?Worker 又重。并发任务页面销毁了怎么取消?有没有轻量点的方案?还是说只能老老实实回主线程再 set?

评论0

浏览 1

发布于6分钟前
我这边需要做了一个需要定位的长时任务。但是测试过程因为签名测试方式不同完全效果不一样。测试一(调试证书):我用添加设备的id 后申请的调试证书,用DevEco studio测试。一整天都是正常的。测试二(发布证书):然后我测试都正常后。用发布证书编译 上传到 平台,并发布邀请测试 版本。然后通过短信链接下载测试。发现 一息屏没多久就休眠了。完全无法实现后台定位测试多次都是这样的结果。当前问题是哪出异常了?有大佬解答疑问吗?

评论1

浏览 5

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

评论93

浏览 3.9k

发布于2026-08-12 23:09
HarmonyOS中@ohos net .Http模块支持哪几种请求方式?如何设置请求超时间?

评论2

浏览 3

发布于14分钟前
我想清理APP缓存,cacheSize对应是哪些目录?请给出官方文档链接谢谢!

评论1

浏览 4

发布于18分钟前
服务卡片配置可以动态修改吗?

评论9

浏览 28

发布于1小时前
市面上手机大多将发热导向至上边框,避免用户直接接触影响体验。      但在手游场景下,横置握持会最大限度感到手机温度。而用户不会接触的两侧边框散热能力便白白浪费。            在手机散热层中,设置水平感应始终向上的导流针。       1.当用户竖着使用手机,导流针会阻断   冷却液向手机下部分传热,保护用户体验。      2.横置使用时,导流针会阻断向顶部底部边框的导热,将冷却液导向左右两侧边框。以更大限度进行散热。

评论3

浏览 21

发布于昨天19:05
为什么鸿蒙大量第三方应用甚至很多系统应用没有适配滚动条组件?相比iOS,iOS大量第三方应用适配了滚动条组件,ai解释是自动配置的,而鸿蒙这边需要手动配置,所以鸿蒙这边鲜有适配滚动条的第三方应用,甚至很多系统应用都没适配滚动条,导致体验层次不齐割裂感严重,其次5.0以后的滚动条舍弃了震动反馈,体验感下降,有没有可能是滚动条这种快速切换页面性能开销极大,因此并没有默认启用,据观察,iOS端几乎所有的ai都适配了滚动条,这种长文本输出的场景这个小组件特别实用,而鸿蒙这边貌似只有文心适配了,豆包很早前适配过又不知道为什么砍掉了,小艺半屏适配了,全屏又没适配

评论5

浏览 32

发布于昨天17:30
什么时候可以升到鸿蒙纯血系统7.0?

评论50

浏览 1.1k

发布于2026-08-10 05:27
应用间跳转和 H5 拉起原生应用的需求,在 module.json5 的 skills 里配好了 uris 和 actions,结果:1. 浏览器地址栏输入 myapp://home?id=123 回车,没有任何反应,不跳应用也不报错2. 用 @ohos.abilityAccessCtrl 或 Want 的 uri 字段显式调 startAbility也不行3. 换成系统自带的 https:// scheme 链接,浏览器倒是识别了,但打开的是网页不是应用

评论4

浏览 16

发布于昨天15:53
卫卫熊
|
技术支持
三个子问题的根因分别为:1. 浏览器地址栏直接输入自定义 scheme(myapp://)不会触发系统隐式 Want 匹配,浏览器仅对 http/https scheme 做地址栏导航处理。自定义 scheme 需通过 H5 页面超链接、openLink 接口或 startAbility 隐式 Want 调用来拉起应用。2. startAbility 不跳转的原因是 module.json5 配置不完整:exported 未设置为 true、entities 缺少 entity.system.browsable、skills 配置混写在默认入口 skill 对象中(与 action.system.home 混写),导致系统隐式 Want 匹配失败。3. https:// scheme 打开网页而非应用的原因是 App Linking 域名验证未完成。仅配置 skills.uris 中 scheme 为 https 不够,必须完成 domainVerify 配置 + 域名服务器部署 applinking.json + AGC 后台关联网址域名全流程。【实施步骤】步骤1:修改 module.json5,为被拉起方 Ability 配置 exported: true步骤2:将 Deep Linking(自定义 scheme)和 App Linking(https scheme)分别创建独立的 skill 对象,不与默认入口 skill(action.system.home)混写步骤3:在每个 skill 对象中添加 entities: ["entity.system.browsable"] 和 actions: ["ohos.want.action.viewData"]步骤4:为 App Linking 的 skill 对象添加 domainVerify: true 配置步骤5:拉起方应用在 module.json5 中配置 querySchemes: ["myapp"],声明可能用到的 scheme步骤6:在域名服务器部署 applinking.json 配置文件到 https://<域名>/.well-known/applinking.json步骤7:在 AppGallery Connect 后台开通 App Linking 服务,创建关联网址域名,完成域名与应用的关联验证步骤8:将浏览器地址栏直接输入 scheme 的方式改为 H5 页面超链接、openLink 或 startAbility 隐式 Want 调用【代码示例】module.json5 修复配置:{   "module": {     "querySchemes": ["myapp"],     "abilities": [       {         "name": "EntryAbility",         "srcEntry": "./ets/entryability/EntryAbility.ets",         "exported": true,         "skills": [           {             "actions": ["action.system.home"],             "entities": ["entity.system.home"]           },           {             "actions": ["ohos.want.action.viewData"],             "entities": ["entity.system.browsable"],             "uris": [               { "scheme": "myapp" }             ]           },           {             "actions": ["ohos.want.action.viewData"],             "entities": ["entity.system.browsable"],             "uris": [               {                 "scheme": "https",                 "host": "www.example.com",                 "path": "home"               }             ],             "domainVerify": true           }         ]       }     ]   } }ArkTS 拉起方式(替代浏览器地址栏直接输入):import { Want, common } from '@kit.AbilityKit'; let context = getContext(this) as common.UIAbilityContext; // 方式A:openLink 拉起 let link = "myapp://home?id=123"; context.openLink(link, { appLinkingOnly: false })   .then(() => { console.info('open link success.'); })   .catch((err: BusinessError) => { console.error(`open link failed. Code: ${err.code}, message: ${err.message}`); }); // 方式B:startAbility 隐式 Want 拉起 let want: Want = {   action: "ohos.want.action.viewData",   uri: "myapp://home?id=123" }; context.startAbility(want)   .then(() => { console.info('startAbility success.'); })   .catch((err: BusinessError) => { console.error(`startAbility failed. Code: ${err.code}, message: ${err.message}`); });H5 页面超链接拉起:<a href="myapp://home?id=123">打开应用</a>【参考文档】- 通过 App Linking 应用链接拉起指定应用:https://developer.huawei.com/consumer/cn/doc/doccenter-capabilities/app-linking-startupapp- Deep Linking 开发指南:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/deep-linking-startup- App Linking 开发准备:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/applinking-preparations【注意事项】- exported 必须为 true,否则三方应用无法拉起(仅系统应用可拉起)- skills 不能混写在默认入口 skill 对象中,必须创建独立的 skill 对象- entities 必须包含 entity.system.browsable,否则 URI scheme 匹配不生效- App Linking 的 scheme 强制为 https,不支持自定义 scheme 做 App Linking- domainVerify 设为 true 后,必须在域名服务器部署 applinking.json 并在 AGC 后台完成关联验证,否则 https 链接仍会回退到浏览器打开- 拉起方应用需配置 querySchemes 声明可能用到的 scheme,否则 queryAbilityInfo 等查询接口无法感知该 scheme
点赞
回复于26分钟前
我在用hmrouter的导航进入页面时,想实现这个页面压在播放页面上,然后触发页面进入动画,如图的效果。但是这个是当播放页面被导航包裹在内时是正常的,一旦播放页面不被导航包裹,那么会出现页面在播放页面后面执行入场动画,我想的是用一个stack包裹两个导航,播放页面的层级在这个两个导航中间,但是我在实现过程中,我发现有一个问题,假如底层的导航为a,顶层为b,我在利用b导航从播放页面进入新页面时,页面会出现导航容器自带的在浅色模式下的白色背景,深色模式为黑色的背景,接着新页面再执行入场动画,我不清楚怎么设置为透明,如何解决这个问题

评论19

浏览 46

发布于昨天15:49
如何将多项文件授权给应用?如图1所示那种效果,audiopicker好像只能单选

评论2

浏览 25

发布于昨天15:07
设备/环境:SGT-AL10 · HarmonyOS 7.0.0.105 · API 26 · DevEco Studio(hms SDK,UIDesignKit 声明 6.1.0(23)/6.1.1(24));应用 metadata 已配置 ohos.arkui.UIMaterial.state = "enable";targetAPIVersion ≥ 26;entry 模块;系统设置"沉浸光感" = 强(最高档)。问题现象:底部导航(悬浮胶囊 + 独立圆形)由普通 ArkUI 组件(Stack/Row)通过 systemMaterial(new uiMaterial.ImmersiveMaterial(...)) 接入沉浸式系统材质。HarmonyOS 7.0.0.105 SP6 系统更新之前:胶囊呈现真实玻璃质感(折射/光晕/通透)。SP6 更新之后:同一代码、同一设备、未改任何配置——胶囊变成纯透明的卡片(背后内容直接透出,无任何材质滤镜/折射/高光;看起来就像完全没有材质)。已按官方文档验证:按"沉浸光感"官方指南示例 1 的写法复刻(Column/Stack + .backgroundColor(Color.Transparent) 写在 .systemMaterial(...) 之前 + borderRadius + 顺序正确),同样失效。按"通用组件封装"实践(ImmersiveSurface:独立组件 + BuilderParam 内容 + 透明背景 + borderRadius + clip(true) + systemMaterial 最后),同样失效。运行时探针证据(关键):deviceInfo.apiAvailable('26.0.0') = true;uiMaterial.getMaterialInfo().state = 1(≠ DISABLE)→ 应用侧门全过;new uiMaterial.ImmersiveMaterial({ style: REGULAR, materialColor: '#80FF0000', interactive: true, lightEffect: {color: undefined} }) 传入 systemMaterial 后,50% 红色 materialColor 在画面上零差异(胶囊未变粉)——证明材质滤镜完全未被渲染(不是"样式选错/背景遮挡"类问题)。对照:同一设备上,系统组件的表面(如音乐条、系统设置预览)沉浸光感正常;HDS HdsTabs 官方悬浮页签(barFloatingStyle.systemMaterialEffect,materialType/materialLevel 模式)玻璃材质正常——唯独第三方应用里自定义 ArkUI 节点的 systemMaterial 不渲染。求助点:自定义 ArkUI 组件(Stack/Row/Column 等普通容器)的 systemMaterial 在 7.0.0.105(SP6) 是否被限制/降级?是否已有已知问题或需要新的启用条件?应用侧如何判定设备的沉浸光感算力档位(低/中/高)与全局材质等级?官方指南示例 5 提到 uiMaterial.getGlobalMaterialLevel() / uiMaterial.isImmersiveMaterialSupported(),但当前 SDK 的 ArkTS 声明中不存在这两个 API(能力清单 ArkUI.json 中有声明,since 26.0.0)——这是声明回退还是需要更高 SDK 补丁?如果自定义组件的材质确实无法恢复,官方推荐的自定义底部导航正确载体是什么(HDS 已确认可用,但存在自定义页签内容/动画限制)?代码片段(完整:普通 ArkUI 组件 + 沉浸光感)以下 = 生产组件中"普通 ArkUI 组件 + 材质接入"的完整相关代码(约 120 行)。 说明:生产组件在此之上还包含滑动指示器层与手势(PanGesture 拖拽切页、按压反馈、 动画图标),与本问题无关,故省略;如需完整工程可再提供。import { uiMaterial } from '@kit.ArkUI'; import { deviceInfo } from '@kit.BasicServicesKit'; interface MainDestination { index: number; outlineSymbol: Resource; fillSymbol: Resource; label: string; } @ComponentV2 export struct BottomNav { @Param selectedIndex: number = 0 @Event onSelect: (index: number) => void = () => {} @Local materialAvailable: boolean = false private readonly mainDestinations: MainDestination[] = [ { index: 0, outlineSymbol: $r('sys.symbol.message'), fillSymbol: $r('sys.symbol.message_fill'), label: 'Chat' }, { index: 1, outlineSymbol: $r('sys.symbol.person_crop_circle_fill_1'), fillSymbol: $r('sys.symbol.person_crop_circle_fill_1'), label: 'Contacts' }, { index: 2, outlineSymbol: $r('sys.symbol.gearshape'), fillSymbol: $r('sys.symbol.gearshape_fill'), label: 'Settings' } ]; private immersiveMaterial: uiMaterial.ImmersiveMaterial | undefined = undefined; aboutToAppear(): void { try { this.materialAvailable = deviceInfo.apiAvailable('26.0.0'); if (this.materialAvailable) { const info = uiMaterial.getMaterialInfo(); this.materialAvailable = info.state !== uiMaterial.MaterialState.DISABLE; } this.immersiveMaterial = this.materialAvailable ? new uiMaterial.ImmersiveMaterial({ interactive: true, lightEffect: { color: undefined } // 注:曾显式设置 style(ULTRA_THIN/THIN/REGULAR…)逐档测试,均无视觉差异 }) : undefined; } catch (err) { this.materialAvailable = false; this.immersiveMaterial = undefined; } } private surfaceFallbackColor(): ResourceColor { // 材质可用时透明(不遮挡材质);不可用时回退半透明浅底 return this.materialAvailable ? Color.Transparent : $r('sys.color.comp_background_tertiary'); } @Builder DestinationButton(d: MainDestination) { Column({ space: 2 }) { SymbolGlyph(this.selectedIndex === d.index ? d.fillSymbol : d.outlineSymbol) .fontSize(22) .fontColor([this.selectedIndex === d.index ? $r('sys.color.icon_emphasize') : $r('sys.color.icon_primary')]) Text(d.label) .fontSize(10) .fontColor(this.selectedIndex === d.index ? $r('sys.color.icon_emphasize') : $r('sys.color.icon_primary')) } .justifyContent(FlexAlign.Center) .layoutWeight(1) .height('100%') .backgroundColor(Color.Transparent) .onClick(() => { this.onSelect(d.index); }) .accessibilityGroup(true) .accessibilityText(d.label) .accessibilitySelected(this.selectedIndex === d.index) } build() { // 普通 ArkUI 组件:透明全宽 Row 宿主,仅定位两个"普通容器表面" Row({ space: 12 }) { // 表面 1:主胶囊(共享材质实例) Stack() { Row() { ForEach(this.mainDestinations, (d: MainDestination) => { this.DestinationButton(d) }, (d: MainDestination) => `${d.index}`) } .width('100%') .height('100%') } .layoutWeight(1) .height(56) // 普通容器 + 普通属性 .borderRadius(28) .clip(true) .shadow({ radius: 24, color: 'rgba(0,0,0,0.16)', offsetX: 0, offsetY: 6 }) .backgroundColor(this.surfaceFallbackColor()) // ← 写在 systemMaterial 之前(官方顺序) .systemMaterial(this.immersiveMaterial!) // ← 通用属性接入沉浸式系统材质 // 表面 2:独立圆形(同一材质实例) Stack() { Stack() { Text('A').fontSize(22).fontWeight(FontWeight.Medium).fontColor(Color.White) } .alignContent(Alignment.Center) .width(44) .height(44) .borderRadius(22) .backgroundColor('#0A59F7') } .alignContent(Alignment.Center) .width(56) .height(56) .borderRadius(28) .clip(true) .shadow({ radius: 24, color: 'rgba(0,0,0,0.16)', offsetX: 0, offsetY: 6 }) .backgroundColor(this.surfaceFallbackColor()) .systemMaterial(this.immersiveMaterial!) .onClick(() => { this.onSelect(3); }) .accessibilityGroup(true) .accessibilityText('Profile') } .width('100%') .padding({ left: 20, right: 20 }) .margin({ bottom: this.systemInsetVp() + 8 }) // 底部安全区留白 .backgroundColor(Color.Transparent) .hitTestBehavior(HitTestMode.Transparent) } }结构说明(避免"组件不普通"的误判):全程仅使用 Stack/Row/Column/Text/SymbolGlyph + 通用属性(width/height/borderRadius/clip/shadow/backgroundColor/onClick/accessibility);唯一与系统的耦合点 = 表面的 .backgroundColor(Color.Transparent) 与 .systemMaterial(...);两个表面共享一个 uiMaterial.ImmersiveMaterial 实例(aboutToAppear 中创建)。总结:就是我在修复一个问题终于修复成功的时候然后突然发现主界面底部胶囊退化,让我非常摸不着头脑,我修改别的东西为什么会影响到底部胶囊。想来想去,唯一怀疑的线索也只有昨天下午进行的一次系统更新。

评论31

浏览 635

发布于2026-08-30 02:06
半本前瞻
|
技术支持
点赞1
回复于2026-08-31 01:24
歌词文本这种渐变的透明度怎么实现

评论11

浏览 54

发布于昨天14:28
无语的我回来了
|
采纳答复
点赞1
回复于昨天15:52
分别是未滑动状态,与滑动状态页签悬浮置顶的截图,有没有示例代码

评论9

浏览 49

发布于昨天14:11
升级到最新的系统后, mate80锁屏听QQ音乐明显卡顿

评论4

浏览 22

发布于昨天13:33
AI助手
|
采纳答复
AI 生成内容,仅供参考
您遇到的锁屏播放QQ音乐卡顿问题,属于系统升级后的应用兼容性与性能问题,以下提供几个排查方向和解决建议:可能原因应用未适配最新系统版本:QQ音乐可能尚未针对您所升级到的最新HarmonyOS版本完成适配优化,锁屏状态下的媒体控制组件(如锁屏Widget、AVSession媒体会话)在新系统上可能存在兼容性问题,导致渲染或数据同步出现卡顿。后台资源管理策略变化:系统升级后,后台进程的资源调度策略可能有所调整,音乐应用在锁屏后被限制了CPU或内存资源,导致音频播放出现卡顿。系统升级初期的性能波动:系统大版本升级后,系统后台可能正在进行应用优化编译等任务,短期内占用较多资源,可能影响其他应用的流畅度。建议排查与解决步骤更新QQ音乐至最新版本:进入应用市场检查QQ音乐是否有可用更新,应用厂商通常会针对新系统版本发布适配更新,更新后大概率可解决兼容性卡顿问题。清理后台并重启设备:系统升级后建议重启一次手机,让系统完成初始化调度,同时清理后台运行的多余应用,释放资源给音乐播放使用。检查电池与性能设置:进入"设置 > 电池",查看是否有针对QQ音乐的后台限制或省电策略,将其调整为允许后台活动,避免锁屏后应用资源被过度限制。清除QQ音乐缓存:进入"设置 > 应用和服务 > 应用管理",找到QQ音乐,清除缓存数据(注意不是清除数据),然后重新打开应用尝试播放。反馈问题至官方渠道:如果以上方法均未解决,建议通过以下途径反馈:在QQ音乐应用内通过"设置 > 帮助与反馈"提交问题反馈,附带设备型号和系统版本号通过华为"反馈助手"或"会员中心"提交系统使用问题反馈,描述卡顿场景和复现步骤补充说明此类系统升级后的第三方应用兼容性问题较为常见,通常需要应用侧和系统侧协同解决。如果大量用户反馈同一问题,应用厂商一般会在后续版本中修复。建议优先尝试更新QQ音乐至最新版本,这是最直接有效的解决方式。
点赞
回复于昨天13:40
鸿蒙7系统nova13什么时候推送鸿蒙7尝鲜版

评论41

浏览 656

发布于2026-08-20 02:32
红薯味儿的栗子󰠇
|
采纳答复
点赞
回复于6天前

我要提问题

月度答复贡献榜
用户头像
橙动创意
回帖1.1k
粉丝51
关注
用户头像
心系天下
回帖949
粉丝10
关注
用户头像
训犬者
回帖649
粉丝4
关注
用户头像
蓝瘦的蜕变
回帖624
粉丝107
关注
用户头像
仙银
回帖512
粉丝92
关注
邀您回答
换一批
从通知进入详情页,怎样处理登录失效和重复跳转?
ArkWeb 离线包升级后仍加载旧 JS/CSS,甚至新旧资源混用白屏
TaskPool / Worker 里想更新 UI 就抓瞎
@Builder / @Styles 有时候不更新
自定义组件传值,@Prop、@Link、@ObjectLink 到底怎么选?
热门标签
1

HarmonyOS 5

2

HarmonyOS 6

3

DevEco Studio

4

UI

5

HarmonyOS

6

ArkUI (方舟UI框架)

7

HarmonyOS 7

8

App开发

9

Ability框架

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