登录社区云,与社区用户共同成长
邀请您加入社区
本文介绍 timezone_provider 1.1.0 在 Flutter 鸿蒙应用中读取系统 IANA 时区标识的实践,通过真实设备验证其在时区切换、自动更新场景下的准确性与无缓存特性。强调保存 IANA ID 而非偏移量的重要性,避免日历与服务端时间换算错误。提供带并发保护的页面实现,结合 PlatformException 错误处理与生命周期刷新机制,确保数据一致性。依赖仅需 Git 提交
本文基于 disk_space_2: 1.0.13 在 Flutter 鸿蒙应用中实现存储空间查询,精准获取总容量、可用容量及指定目录(如沙箱目录)的可用空间,单位为 MiB。通过真机测试(CHZ-AL00 / HarmonyOS 7.0),验证了接口稳定性与异常处理能力,强调路径有效性与空间余量预留。示例代码展示如何在页面中安全调用并显示结果,适用于下载前空间检查,依赖锁定至指定 SHA,确保构
本文介绍 clipboard_watcher 0.3.0 在 Flutter 鸿蒙平台的使用,通过监听剪贴板变化事件实现轻量级通知,不读取或上传内容。插件基于单例模式,需正确管理 addListener 与 start() 的生命周期,避免重复注册或内存泄漏。实测覆盖启动、停止、重启及页面销毁场景,确保事件仅在监听期间触发,且隐私安全。推荐锁定真机提交 SHA,配合自动化测试与真机验证,保障稳定性
应用里要播一条自定义提示音、循环响一段告警音——就是干这个的。它的 API 面很薄:一个play()、三个系统音快捷方法、一个stop()。接 Android 枚举、接 iOS 枚举、fromAssetfromFile接自定义音源。自定义音源(fromAsset / fromFile)能用吗?能,完整适配。鸿蒙的AVPlayer公开可用,音量、循环都支持——这也是这个库在鸿蒙上的全部实际价值;系统
是 Flutter 生态里的文件保存插件:把字节内容保存成用户可见的文件。它的 Android 实现走 MediaStore静默写入公共 Downloads 目录;iOS 实现拉起分享面板让用户选去向。,完成即返回,取消静默。鸿蒙不允许三方应用静默写入公共目录。Android 的实现思路整体不可用,必须换成系统 Picker 方案。保存能力走系统的 save 模式——用户确认位置后写入授权 URI
flutter_broadcasts 用两个类覆盖了广播通信的全部常规需求,鸿蒙适配保持接口不变,业务接入成本接近于零。使用问题欢迎在鸿蒙仓库提 Issue,原库行为相关的讨论建议到上游仓库 Issue反馈。CPF-Flutter 鸿蒙社区Flutter OHOS 开发环境搭建指南flutter_broadcasts 鸿蒙版仓库example 源码目录上游仓库pub.dev 包页《flutter_
本文完成了 flutter_broadcasts 的鸿蒙适配全流程:上游仓库同步 AtomGit、建分支并用补全骨架、Dart 侧平台路由加 ArkTS 侧 commonEventManager 实现、四份适配说明文件、提交分支与 TAG,最终在 HUAWEI 真机上验证了全部接口。适配使用中的问题欢迎在鸿蒙仓库提 Issue,原库行为相关的讨论建议到上游仓库 Issue反馈;接口怎么用、参数与返
本文基于 haptic_kit 适配分支 b6554f75bbd94b30ab5d34cc55d270570dfe8bd5,在 HarmonyOS 7.0 真机上完成集成验证。通过静态检查、自动化测试及真机启动测试,确认依赖锁定、权限声明与构建通过,物理触感需人工验收。推荐按场景选用 Haptics、Vibration 等 API,优先查询设备能力并结合用户设置,确保反馈合理。关键流程如波形振动需
本文基于 screen_security 1.1.2 插件,实现在鸿蒙系统上为敏感页面开启防截图功能。通过固定 commit 版本、配置 PRIVACY_WINDOW 权限,并在 Flutter 页面中异步调用 enable()/disable(),实现窗口隐私模式切换,真机测试验证截图内容被遮黑、状态可回环。适用于证件、支付等短时敏感信息展示场景,强调需在流程结束前主动关闭防护,避免影响其他页面
适配 power_saver_plugin 0.0.1 至 OHOS,保持 Dart API 不变,通过 Power、BatteryInfo 及公共事件实现系统版本、电量与省电状态读取。实测验证初始状态、省电/恢复事件、自动化测试及 HAP 构建均通过,支持性能(602)、省电(601)等模式映射,无需额外权限。真机测试(CHZ-AL00, HarmonyOS 7.0)确认开关回环有效,边界情况待
本文适配 flutter_native_timezone_2025 1.0.1 至鸿蒙OS,实现 getLocalTimezone() 与 getAvailableTimezones() 两个API的OHOS原生支持。基于系统数据库获取当前时区(如 Asia/Shanghai)及473个可用IANA标识,确保数据真实、无硬编码。通过静态检查、12项自动化测试及真机验证,结果稳定。插件兼容Flutt
回顾一下:在中以 git TAG 引入 social_share,一行即可唤起系统分享面板;shareSms、shareTwitter 打通短信与浏览器分享链路,shareWhatsapp、shareTelegram 带应用门禁直达目标应用,copyToClipboard 与 checkInstalledAppsForShare 覆盖剪贴板与渠道探测;返回值语义与上游对齐,除两个 Story 接口
业务里“连着 Wi-Fi”和“目标服务能连通”不是一回事。`connectivity_state_plus` 同时提供系统网络接口状态和 Dart TCP 探测,本次 OHOS 适配只补平台网络查询与事件,让原有 Dart 层继续负责地址解析、Socket 超时、缓存和 `restricted` 状态。
回顾整条适配链路:上游仓库同步进 AtomGit 保住历史;单包插件结构让适配落点收敛在插件根目录的ohos/目录,一条命令生成 ArkTS 骨架;Dart 侧只给 shareSms 加了 ohos 平台分支,ArkTS 侧用 systemShare、pasteboard、want、openLink 四类系统能力复刻十个接口,canOpenLink 门禁与 replyOnce 互斥处理平台差异;四
回顾一下:在中以 git TAG 引入 flutter_web_browser,一行即可在鸿蒙 App 内唤起系统默认浏览器打开网页,无需平台分支、无需声明权限;warmup保持既有代码模式成立,close与events维持上游的 iOS-only 语义,错误码与 Android 对齐。同一段代码在 Android、iOS 上也各自生效。
回顾整条适配链路:上游仓库同步进 AtomGit 保住历史;一条命令补全目录与注册节点;改动只落在 Dart 侧的一个平台判断分支与 ArkTS 侧的一个插件文件里,隐式 Want 加上 replyOnce 互斥,就把上游 openWebPage / warmup 的语义完整搬到了鸿蒙;四份说明文件交代清楚适配行为与遗留差异,分支与 TAG 按社区规范提交发布。原库的接口签名与异常语义原封未动,这
回顾一下:在 pubspec.yaml 中以 git TAG 引入 local_notifier,main 里一次 setup 完成运行时授权,之后构造 LocalNotification、挂回调、调用 show 即可在鸿蒙通知中心发出通知;点击与按钮点击经 wantAgent 回传到 onClick / onClickAction,close / destroy 触发 onClose。
回顾整条适配链路:上游仓库同步进 AtomGit 保住历史,一条命令补全目录结构,Dart 侧只动了的三处分支与保护,ArkTS 侧把模板补全为授权、发布、点击回传、取消的完整实现,四份说明文件交代清楚适配行为,分支与 TAG 按社区规范提交发布。原库的接口签名、回调语义与各平台行为原封未动,这正是"只做加法"的适配给使用方的承诺。适配过程中发现的问题欢迎到local_notifier 鸿蒙仓库提
每个组件继承,在fromJson构造器中从 JSON 解析字段,在build?'',@override的fromJson_id(组件标识)、_key(状态更新键)、_state(初始状态)。子类在此基础上解析自己的业务字段。接收——一个包含当前组件状态的 Map,通过将模板变量(如)解析为真实值。代码逐段分析:withContext 模板变量解析是模板变量的核心。它检测字符串是否以开头,若是,则截
在很多业务场景中,页面结构需要后端下发、运营配置或 AB 实验动态调整。提供了一种轻量方案:用 JSON 描述组件(_id标识类型、_key标识状态、_state给出初始状态),在 Dart 端注册对应构造器后,即可把 JSON 转换成真正的 Flutter Widget;状态更新通过下发,组件内部用$state.xxx模板变量读取最新值。这套核心能力全部由纯 Dart 实现(等),不触碰任何平台
/ 自定义:给 bool 值加图标Text('nodeName// 自定义:给 bool 值加图标 if(nodeValue is bool) {} // 其余类型使用默认构建 return JsonViewerRoot(jsonObj : {} ,);nodeValue'),],// 其余类型使用默认构建},parent(父节点,根节点为 null)、nodeName(键名或索引)、nodeVa
v2.0.4 完整适配鸿蒙——通过拦截分享 Want → 转发给→ MethodChannel 提供冷启动+ EventChannel 提供热启动流 → Dart facade 零改动直接复用。多 key 探测文本/URL,提取文件 URI,mime 推断走扩展名映射。EntryAbility 添加 skills 让 app 出现在系统分享面板,Dart enum 与 ArkTS enum 索引对
功能API说明适用场景播放资产播放打包进应用的音频提示音、内置音效播放网络流式播放在线音频在线音乐、播客暂停/继续/停止pause()resume()stop()播放控制三件套播放器 UI进度跳转跳到指定位置,回调进度条拖动音量0-1 浮点音量滑条状态流UI 状态联动时长/进度流毫秒级 Duration进度条实时刷新完成事件单曲播完触发自动连播/循环。
Pigeon 的输入定义文件@HostApi()@HostApi()注解表示这是一个从 Dart 调用原生方向 的 API。Pigeon 生成的 Dart 代码中,类通过>(;// 错误格式: [code, message, details]as String,} else {// 成功格式: [result];上述代码的核心逻辑是:创建一个名为的,向原生侧发送null消息(无参数),等待回复。回
回顾一下:在中以 git TAG 引入 custom_clipboard,调用或即可在鸿蒙 App 内操作系统剪贴板。前者走引擎路径写入空文本,后者走原生插件实现真正清空——两种方式在鸿蒙设备上均无需申请任何权限。虽受系统受限权限限制在调试签名下返回null,但可正常查询剪贴板状态。同一段代码在 Android、iOS 上也各自生效,Dart 层零改动。总结对比维度引擎路径原生路径鸿蒙端行为写入空
本文适配 flutter_device_name 插件至 OHOS 平台,修复因 ApplicationContext 导致的设备名称读取失败问题。通过实现 AbilityAware 机制,绑定 UIAbilityContext,确保在真机上正确读取用户设置的设备名称(如“华为畅享 90 Pro Max”),并与原生 Settings 查询结果一致。保持接口兼容性,返回 null 表示无设置,不缓
适配 locale_plus 2.0.0 至 OHOS,基于 feat/ohos_locale_plus_2.0.0 分支,实现13项国际化查询接口,精准读取语言、地区、时区、数字格式、时间模式等系统数据。通过真机测试(CHZ-AL00,HarmonyOS 7.0),验证 zh_CN 等多语言环境下的小数点、分组符、AM/PM、周首日及公制偏好,全接口可空返回保持一致。构建与自动化测试均通过,无权