全部频道
有奖互动
全部
讨论
问答
问答 已解决 Preferences 数据存储,应用多模块读写同一个 Preferences 文件,出现数据错乱、丢失写入 项目有多个 module 模块,不同模块同时读写同一个 Preferences 存储文件,偶尔出现保存的数据丢失,读取到旧值,怀疑并发读写冲突。
JaneConan 回答:Preferences 不支持高并发多实例同时读写同一个文件;多个实例同时写会覆盖数据,造成丢失。建议全局单例获取 Preferences 实例,整个应用只创建一份实例,不要每个页面都 new 实例。修改数据完成之后务必调用 flush () 持久化落盘;不调用 flush 进程直接杀死会内存数据丢失。多模块共享数据,推荐统一封装工具类,所有读写逻辑收敛一处,避免到处直接操作 Preference 2026年09月04日11时14分
harmonyos
1 回答 153 浏览
2026-09-04 11:14
问答 鸿蒙跨设备迁移(续播)能力,发起迁移之后目标设备拉起应用,页面状态全部丢失 开发跨设备协同应用,实现应用迁移,调用 continueAbility 发起迁移,目标设备成功打开本应用,但是之前页面的数据、表单全部为空,没有把业务状态传递过去。
JaneConan 回答:Ability 迁移框架只会完成应用拉起,不会自动迁移业务数据、页面状态,业务数据需要开发者手动封装。在源端onContinueAbility回调,把需要迁移的数据封装到 wantParams 对象,系统会把该参数传递到目标设备 UIAbility 的 onCreate want 参数。大数据不要放到 want 参数,存在大小限制;大量数据优先使用分布式数据管理,跨设备共享数据库。目标端收到 wa 2026年09月04日11时13分
harmonyos
1 回答 79 浏览
2026-09-04 11:12
问答 原生鸿蒙应用集成第三方 SDK,SDK 内部依赖 NDK so 库,编译报错 so 文件不支持当前 ABI 架构 引入第三方鸿蒙 SDK,包含 native so 库,编译 hap 时报错 ABI 不匹配;设备是 arm64‑v8a,构建提示缺少对应架构库,同时需要兼顾 32 位设备,如何配置 so 打包参数。
JaneConan 回答:查看 SDK 提供的 so 支持架构:arm64‑v8a、armeabi‑v7a;确认第三方 SDK 是否提供对应鸿蒙编译版本 so,Android so 不能直接混用。在 build‑profile.json5 配置 abiFilters,过滤需要打包的 CPU 架构,不需要架构直接过滤掉,避免打包缺失。so 存放目录需要按照规范放置在 libs/${abi}/ 下面,路径错误编译不会打进 ha 2026年09月04日11时07分
harmonyos
1 回答 74 浏览
2026-09-04 11:06
问答 已解决 鸿蒙应用调用文件访问能力,沙箱外部文件读取失败,权限已经申请仍然报权限拒绝 开发文件管理类应用,已经在配置文件声明文件权限,运行时也完成动态权限申请,但是依旧无法读取用户存储目录下的图片、文档,报错 permission denied,不理解鸿蒙沙箱文件访问限制,分不清沙箱路径和公共存储路径差异。
JaneConan 回答:Stage 模型应用受沙箱强隔离,普通权限无法直接访问全部外部存储,不能直接使用文件路径读写公共目录文件,必须使用系统文件选择器@ohos.file.picker让用户主动选择文件。ohos.permission.READ_MEDIA仅可以访问媒体图库,不能访问任意文档;旧版文件权限在新版本系统已经逐步废弃。应用私有沙箱路径(context.filesDir 等)读写不受限,但是仅本应用可以访问, 2026年09月04日11时05分
harmonyos
1 回答 88 浏览
2026-09-04 11:05
问答 已解决 Stage 模型下 UIAbility 实例多次重复创建,页面状态无法保留该如何排查处理? 项目使用 Stage 模型开发,从桌面图标点击进入应用,再通过系统通知、元服务跳转打开同一个应用,会出现新建 UIAbility 实例,页面数据、表单填写内容全部丢失,没有复用原有进程内的实例,不清楚是启动模式配置错误还是跳转参数问题,需要完整排查思路和配置方案。
JaneConan 回答:优先检查 module.json5 中 UIAbility 的launchType属性,需要复用实例设置为singleton;默认standard每次都会新建实例。singleton 模式下,新的跳转不会执行 onCreate,只会触发 onNewWant 生命周期,业务状态恢复逻辑需要写在 onNewWant 回调中,不要全部放在 onCreate。通知、元服务跳转时 want 参数不要携带错误 2026年09月04日11时04分
harmonyos
1 回答 83 浏览
2026-09-04 11:04
问答 已解决 NFC 读取标签,部分标签读取失败,有的标签能读,有的完全无回调,怎么排查? NFC 功能开发,测试几张 NFC 标签,一部分读取正常,另外一部分标签靠近设备没有任何回调,权限已配置。
提子拌饭133 回答:1. 确认设备硬件本身支持 NFC,canIUse 先做能力判断; 2. module.json5 配置 nfc 相关的 intent‑filter,标签匹配规则要覆盖目标标签类型; 3. 标签损坏、标签格式不兼容、标签数据加密,应用无法读取; 4. 手机 NFC 天线位置,不同机型感应区域不一样; 5. 前台分发模式和后台分发模式区分,前台模式优先级更高; 6. Next 纯血版本对 NFC 标 2026年08月30日11时02分
1 回答 439 浏览
2026-08-30 10:40
问答 已解决 UIExtensionComponent 嵌入第三方页面,弹出窗口白屏,跨应用拉起子窗口偶现渲染失败,权限全部配置完成 使用 UIExtensionComponent 做应用内嵌套另一个鸿蒙应用界面,部分设备打开直接白屏,没有明显报错,时好时坏。
提子拌饭133 回答:1. UIExtension 属于扩展能力,需要 module.json5 配置对应 extension 权限,exported 属性配置正确; 2. 宿主应用与被拉起应用需要适配相同 API 基线,Next 环境接口有变更; 3. 宿主窗口状态异常、窗口最小化、后台挂起会导致子扩展渲染中断; 4. 监听`onConnect`、`onDisconnect`生命周期,处理连接断开场景,做页面降级提示 2026年08月30日11时02分
1 回答 328 浏览
2026-08-30 10:39
问答 已解决 应用更新迭代,版本回退,能不能上传比线上 versionCode 更小的安装包? 线上版本 versionCode 是 100,想要回退一个旧版本,versionCode 设置 99,上传 AGC 报错。
提子拌饭133 回答:1. AGC 不允许版本号回退;新上传版本 versionCode 必须大于线上已经发布版本; 2. 不能直接降级回退旧包; 3. 如果需要回退,旧业务逻辑修复,输出更大 versionCode 的新版本,而不是用旧版本号; 4. 测试环境 UAD 不受这个约束,正式上架强制 versionCode 递增。 2026年08月30日11时02分
1 回答 325 浏览
2026-08-30 10:39
问答 已解决 软著和鸿蒙应用上架的关系,如果没有软件著作权,哪些情况会被驳回? 不清楚软著是否必须,没有软著提交审核被打回。
提子拌饭133 回答:1. 普通工具类应用,部分场景可以不用软著; 2. 应用名称与已有应用重名、名称有争议、申诉的时候,平台会要求提供软著; 3. 企业开发者上架金融、教育、医疗等类目,除专项资质外,经常要求提供软著; 4. APP 备案环节,部分属地备案会要求上传软件著作权; 5. 建议尽量办理软著,规避名称审核驳回风险。 2026年08月30日11时02分
1 回答 329 浏览
2026-08-30 10:39
问答 已解决 hdc 安装 hap 提示 INSTALL_FAILED_TEST_ONLY,本地 run 可以,手动 hdc install 部署失败? DevEco Studio 点击运行可以安装到真机,把生成的 hap 文件拿出来 hdc install 就报错 INSTALL_FAILED_TEST_ONLY。
提子拌饭133 回答:1. IDE run 出来的是调试签名包,带有 testOnly 标记;这种包只能 IDE 直接部署,不能手动 hdc install; 2. 如果需要手动 hdc 安装,要构建 release 调试签名版本;或者使用 Build -> Generate HAP,生成可手动安装的 hap; 3. testOnly 的包只能 IDE 直接部署,不能手动拷贝安装。 2026年08月30日11时01分
1 回答 340 浏览
2026-08-30 10:38
查看更多