- 博客(79)
- 收藏
- 关注
原创 Flutter三方库适配OpenHarmony【flutter_web_auth】— 总结回顾与 Web 认证技术展望
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net20 篇文章,从 OAuth2 协议到 PKCE 安全增强,我们把 flutter_web_auth 适配 OpenHarmony 的每一个技术细节都过了一遍。最后这篇做一个完整回顾,把关键知识点串起来,再聊聊 Web 认证技术的未来方向。整个适配的核心是1. 实现三个接口(FlutterPlugin + MethodCallHandler + AbilityAware)
2026-02-26 20:50:01
722
原创 Flutter三方库适配OpenHarmony【flutter_web_auth】— 安全增强与生产环境最佳实践
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.netflutter_web_auth 本身只是一个"浏览器桥梁",安全不安全取决于你怎么用它。裸用 OAuth2 授权码模式有 Scheme 劫持风险,加上PKCE就安全了;不验证State参数有 CSRF 风险,验证了就没事。这篇把生产环境中必须做的安全措施都讲一遍。PKCE:防止 authorization code 被截获后滥用State 参数:防止 CSRF 攻击HTTPS 强制。
2026-02-26 20:47:09
1030
原创 Flutter三方库适配OpenHarmony【flutter_web_auth】— 调试技巧与常见问题排查
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.netflutter_web_auth 的调试比一般的 Flutter 插件要难——因为它涉及跨进程通信。App 打开浏览器是一个进程,浏览器重定向回来是另一个进程,中间还有系统的深度链接匹配。任何一个环节出问题,表现都是"回调不触发"。这篇把排查流程系统化,帮你快速定位问题。清除日志开始监控触发认证:在 App 中点击登录检查日志:对照正常日志序列定位缺失:找到第一个缺失的日志针对性排查。
2026-02-26 20:45:31
824
原创 Flutter三方库适配OpenHarmony【flutter_web_auth】— 四平台认证机制横向对比
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.netflutter_web_auth 支持 Android、iOS/macOS、Web 和 OpenHarmony 四个平台(iOS 和 macOS 共享同一套 API)。每个平台用完全不同的技术栈实现了同一个功能——打开浏览器让用户认证,然后把结果回传给 App。这篇做一个全面的横向对比,帮你理解每个平台的优劣。平台学到的经验iOS统一 API 的价值——一个方法解决所有问题Android。
2026-02-26 14:59:15
940
原创 Flutter三方库适配OpenHarmony【flutter_web_auth】— 示例应用开发与 OAuth2 实战接入
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net前面 15 篇讲了原理和源码,这篇来点实际的——从零搭建一个示例应用,接入 GitHub OAuth 登录,在 OpenHarmony 真机上跑通完整流程。代码可以直接复制到项目里用。项目结构:Dart 代码 + 宿主配置 + EntryAbility 集成OAuth2 URL 构造宿主配置:module.json5 的 skills + INTERNET 权限完整 UI。
2026-02-26 14:57:04
1001
原创 Flutter三方库适配OpenHarmony【flutter_web_auth】— 错误处理与异常边界全梳理
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.netNO_CONTEXTCANCELED。再加上 Dart 层的和各种,整个错误处理体系其实不简单。这篇把所有可能出错的地方都梳理一遍。位置防御内容处理方式authenticate 入口ability 为 null日志 + 继续检查 contextauthenticate 入口context 为 null清理 callback + erroropenLink同步异常。
2026-02-25 19:02:18
734
原创 Flutter三方库适配OpenHarmony【flutter_web_auth】— URI 解析与 Scheme 匹配算法
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.netonNewWant 收到一个 Want 对象,里面有一个 uri 字符串。插件需要从这个字符串里提取出 Scheme,然后在 callbacks Map 中找到对应的 MethodResult。听起来简单,但字符串解析总有各种边界情况——空值、格式错误、编码问题。这篇把 URI 解析的每个细节都过一遍。want.uri 获取:空值判断覆盖 undefined/null/空字符串。
2026-02-25 19:00:00
1204
原创 Flutter三方库适配OpenHarmony【flutter_web_auth】— Dangling Calls 清理与用户取消处理
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net用户点了登录按钮,浏览器打开了,然后……用户改主意了,直接切回 App 不登录了。这时候的 Future 还在等着呢,如果不处理就会永远挂在那里。flutter_web_auth 用一个叫的机制来解决这个问题——检测到用户回来了,就把所有等待中的认证调用标记为"取消"。Dangling Call 是指已经发起但永远不会收到回调的方法调用。
2026-02-25 18:53:04
1104
原创 Flutter三方库适配OpenHarmony【flutter_web_auth】— onMethodCall 方法分发与参数提取
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net和。authenticate 的参数提取和错误处理逻辑更复杂——因为它涉及到打开浏览器这个"跨进程"操作。两个方法:authenticate(异步)和 cleanUpDanglingCalls(同步)参数提取:call.argument() + as 类型断言preferEphemeral 忽略:OpenHarmony 不支持隐私浏览:严格的 API 契约,未知方法报错日志安全。
2026-02-25 18:50:38
1395
原创 Flutter三方库适配OpenHarmony【flutter_web_auth】— 静态回调 Map 与异步结果传递
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.netflutter_web_auth 的 OpenHarmony 实现中有一个很巧妙的设计:用static Map来桥接两个完全不同时机的操作——方法存入回调,onNewWant方法取出回调并返回结果。这两个操作可能相隔几秒甚至几分钟,中间还跨越了浏览器和 App 两个进程。这篇把这个异步结果传递机制拆解清楚。static Map。
2026-02-25 18:48:25
974
原创 Flutter三方库适配OpenHarmony【flutter_web_auth】— openLink API 与浏览器启动策略
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net打开浏览器这件事,在 Android 上一行就搞定了。在 OpenHarmony 上稍微复杂一点——首选方案是,如果失败了还有作为降级。flutter_web_auth 实现了一个模式来确保浏览器一定能打开。openLink:推荐方案,异步打开系统浏览器:降级方案,通过 Want 打开浏览器双重错误处理等待机制:openLink 成功后等待深度链接回调INTERNET 权限。
2026-02-24 16:38:42
1159
原创 Flutter三方库适配OpenHarmony【flutter_web_auth】— EntryAbility 深度链接回调集成
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net宿主应用必须手动修改 EntryAbility 代码。Android 只需要在 Manifest 里加一段 XML,iOS 什么都不用改。但 OpenHarmony 需要开发者在 EntryAbility.ets 中写几行代码来转发深度链接回调。这篇把集成代码的每一行都讲清楚,以及为什么非得这么做。如果是实例方法如果是静态方法需要获取插件实例的引用直接通过类名调用。
2026-02-24 16:33:38
789
原创 Flutter三方库适配OpenHarmony【flutter_web_auth】— 深度链接(Deep Link)机制全解析
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net深度链接是 flutter_web_auth 在 OpenHarmony 上能工作的基础设施。没有深度链接,浏览器完成认证后就没办法把结果回传给 App。这篇把 OpenHarmony 的深度链接机制从底层讲清楚——Want 是什么、skills 怎么配、singleton 为什么必须、系统怎么匹配。深度链接(Deep Link)是一种通过 URL 直接打开 App 特定页面的技术。
2026-02-24 16:30:58
1080
原创 Flutter三方库适配OpenHarmony【flutter_web_auth】— FlutterPlugin 与 AbilityAware 双接口实现
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.netflutter_web_auth 的 OpenHarmony 实现需要同时实现三个接口这比 secure_application(只需要两个接口)多了一个 AbilityAware。为什么?因为打开浏览器需要,而不是普通的 ApplicationContext。这篇把三个接口的职责和实现细节都讲清楚。:管理 MethodChannel 的创建和销毁:处理 Dart 层的方法调用。
2026-02-24 16:27:03
653
原创 Flutter三方库适配OpenHarmony【flutter_web_auth】— OpenHarmony 插件工程搭建与配置文件详解
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net从这篇开始正式进入 OpenHarmony 适配的核心内容。第一步是搭建插件工程——创建ohos目录、配置各种 json5 文件、写好入口导出。这些看起来是"脚手架"工作,但配置错一个字段就可能导致插件加载失败,排查起来非常痛苦。目录结构:标准的 ohos/ 目录布局,6个关键文件:包名必须与 pubspec.yaml 一致:type 为 har,支持 default 和 tablet。
2026-02-24 15:57:02
749
原创 Flutter三方库适配OpenHarmony【flutter_web_auth】— iOS/macOS 端 ASWebAuthenticationSession 实现分析
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.netiOS 和 macOS 的实现是三个原生平台中最"优雅"的——Apple 提供了这个专门为 OAuth 设计的 API,一个方法调用就搞定了浏览器打开和回调接收。不需要配置 Intent Filter,不需要手动处理深度链接。理解这个实现有助于我们看清 OpenHarmony 适配中哪些复杂度是"平台强加的"。行为false(默认)共享 Safari 的 Cookie 和登录状态true。
2026-02-23 03:09:06
1460
1
原创 Flutter三方库适配OpenHarmony【flutter_web_auth】— Android 端 Chrome Custom Tabs 实现分析
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net在适配 OpenHarmony 之前,先看看 Android 端是怎么做的。Android 用打开认证页面,用接收回调。这套方案是 OpenHarmony 适配的主要参照物——很多设计决策都是从 Android 映射过来的。:共享 Cookie、安全沙箱、用户信任度高:通过 Intent Filter 捕获深度链接回调:FLAG_ACTIVITY_NO_HISTORY 不留浏览历史。
2026-02-23 03:06:54
1008
原创 Flutter三方库适配OpenHarmony【flutter_web_auth】— Dart 层源码逐行解析
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.netflutter_web_auth 的 Dart 层只有55 行代码。这可能是我见过的最精简的 Flutter 插件之一。但别小看这 55 行——里面有正则校验、生命周期观察者、dangling calls 清理机制,每一行都有它存在的理由。@override静态设计:所有成员 static,不需要实例化正则校验:RFC 3986 合规检查,快速失败Observer 机制。
2026-02-23 03:04:31
765
原创 Flutter三方库适配OpenHarmony【flutter_web_auth】— OAuth2 协议基础与认证流程拆解
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net要理解 flutter_web_auth 为什么这样设计,得先搞懂OAuth2 协议。很多开发者用 OAuth2 登录用了好几年,但对协议本身一知半解——知道要拿 code 换 token,但不清楚为什么要这么绕。这篇把 OAuth2 的授权码模式从头讲一遍,然后对应到 flutter_web_auth 的每个参数上。│ │ │URL Scheme 是 URL 的第一部分,用于标识协议类型。
2026-02-23 03:02:11
1151
原创 Flutter三方库适配OpenHarmony【flutter_web_auth】— OAuth 认证插件功能全景与适配价值
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net做移动端开发,绑定第三方登录几乎是标配——Google、GitHub、微信、微博,用户不想注册新账号,开发者也不想自己维护一套密码体系。就是干这个的:打开一个浏览器页面让用户登录,登录完了把结果通过深度链接回传给 App。听起来简单,但跨平台实现起来每个平台都不一样。
2026-02-23 03:00:02
1253
原创 Flutter三方库适配OpenHarmony【flutter_speech】— 总结与未来展望
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net这是本系列的最后一篇。从第1篇的项目概述到现在,我们用30篇文章完整地记录了flutter_speech插件适配OpenHarmony的全过程。回头看这段旅程,从最初的"OpenHarmony能跑Flutter?“到最终的"语音识别在OpenHarmony上跑通了”,中间经历了不少曲折。今天我们做一个全面的回顾和展望。1. OpenHarmony和Android的相似度很高。
2026-02-22 14:42:43
1133
原创 Flutter三方库适配OpenHarmony【flutter_speech】— 生产环境部署与发布
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net代码写完了、测试通过了,接下来就是发布。发布不只是把代码推到仓库那么简单——版本管理、文档编写、包配置、社区规范,每一项都影响着插件的可用性和可维护性。今天我们来讲flutter_speech从开发完成到正式发布的完整流程。发布平台:pub.dev + Gitee/GitHub双平台发布版本管理:pubspec.yaml和oh-package.json5版本同步文档规范。
2026-02-22 14:40:46
731
原创 Flutter三方库适配OpenHarmony【flutter_speech】— 与其他 HarmonyOS Kit 的联动
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net语音识别很少单独使用——它通常是更大交互链条中的一环。今天我们探讨flutter_speech如何与其他HarmonyOS Kit联动,构建更丰富的语音交互体验。自然语言处理(NLP)意图识别实体提取文本分类STT+TTS:构建语音对话闭环,注意音频焦点冲突:语音识别+意图分析,实现智能语音助手:音频焦点管理,处理中断和噪音多模态交互:语音+手势+视觉的结合未来展望。
2026-02-22 14:39:36
1077
原创 Flutter三方库适配OpenHarmony【flutter_speech】— 语音识别结果的后处理
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net语音识别引擎返回的原始文本,往往不能直接用于业务场景。缺少标点、格式混乱、偶尔有错别字——这些问题都需要通过后处理来解决。flutter_speech本身不做后处理,它只负责把引擎返回的原始文本透传给Dart层。后处理的逻辑应该在Dart层实现,这样可以跨平台复用。今天我们来看看语音识别结果的常见后处理需求和实现方案。标点处理:Core Speech Kit自带标点,必要时用规则补全。
2026-02-21 22:20:37
893
原创 Flutter三方库适配OpenHarmony【flutter_speech】— 持续语音识别与长录音
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.netflutter_speech默认配置的最大录音时长是60秒,识别模式是短语音(recognitionMode=0)。对于语音搜索、语音指令这类场景完全够用。但如果你要做语音笔记、会议记录、实时字幕这类需要长时间识别的功能,就需要突破这个限制。今天我们来探讨如何基于flutter_speech的架构实现持续语音识别。长语音模式:recognitionMode=1,不会因静音自动停止分段续接。
2026-02-21 18:25:09
1801
1
原创 Flutter三方库适配OpenHarmony【flutter_speech】— pubspec.yaml 多平台配置
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.netpubspec.yaml是Flutter插件的"身份证"——它告诉Flutter框架这个插件支持哪些平台、每个平台的入口类是什么、需要哪些依赖。适配OpenHarmony后,需要在pubspec.yaml中添加ohos平台的声明,让Flutter知道"这个插件也支持OpenHarmony"。这个配置看起来简单,但有不少细节容易出错。今天把pubspec.yaml中与多平台相关的所有配置都讲清楚。
2026-02-19 14:50:15
1618
原创 Flutter三方库适配OpenHarmony【flutter_speech】— 单元测试与集成测试
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net“没有测试的代码就是遗留代码”——Michael Feathers的这句话在Flutter Plugin开发中尤其适用。Plugin涉及Dart层和原生层两部分代码,加上跨进程的MethodChannel通信,任何一个环节出问题都可能导致功能异常。flutter_speech的测试策略需要覆盖三个层面:Dart层的单元测试、MethodChannel的Mock测试、以及真机上的集成测试。
2026-02-19 14:47:50
723
原创 Flutter三方库适配OpenHarmony【flutter_speech】— 性能优化实践
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.netflutter_speech的核心功能已经跑通了,但"能用"和"好用"之间还有一段距离。性能优化就是缩短这段距离的关键。响应速度(从点击到开始识别的延迟)、识别延迟(从说完话到出结果的时间)、资源消耗(CPU、内存、电量)。这三者往往需要权衡——更快的响应可能意味着更高的资源消耗。今天分享一些实用的优化策略。引擎复用:避免重复创建引擎,响应时间从2秒降到100msVAD调优。
2026-02-19 13:27:27
1087
原创 Flutter三方库适配OpenHarmony【flutter_speech】— 调试技巧与日志分析
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net“代码写完了,怎么不工作?”——这大概是每个开发者最常说的话。调试是开发过程中不可避免的环节,而Flutter Plugin的调试比纯Dart应用更复杂,因为涉及两层代码(Dart层和原生层)和跨进程通信我在适配flutter_speech的过程中,大概有40%的时间花在调试上。
2026-02-19 13:25:15
1070
原创 Flutter三方库适配OpenHarmony【flutter_speech】— 错误处理与异常恢复
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net前20篇我们把flutter_speech的核心功能都讲完了,从第21篇开始进入进阶实践阶段。今天先讲错误处理——这是决定插件"能不能用"和"好不好用"之间的关键差距。一个没有错误处理的插件,在理想环境下跑得很好,一到真实场景就各种崩溃。网络断了怎么办?权限被拒了怎么办?引擎创建失败怎么办?这些问题都需要优雅地处理。💡本文重点。
2026-02-19 13:21:58
888
原创 Flutter三方库适配OpenHarmony【flutter_speech】— 跨平台差异对比
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net这是本系列前20篇的收官之作。前面我们分别分析了Android、iOS、OpenHarmony三个平台的实现,今天把它们放在一起做一次全面的横向对比。做跨平台开发最有价值的事情之一,就是理解不同平台之间的共性和差异。共性让我们能用统一的抽象(Dart API)屏蔽底层差异;差异则决定了适配的工作量和技术方案。OpenHarmony和Android的相似度远高于和iOS的相似度。
2026-02-18 08:00:00
732
原创 Flutter三方库适配OpenHarmony【flutter_speech】— 示例应用开发
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net前面十几篇我们一直在讲原生端的实现,今天换个视角——从Dart层看flutter_speech是怎么被使用的。示例应用(example/lib/main.dart)是插件的"门面",也是开发者第一次接触插件时看到的东西。一个好的示例应用应该做到:功能完整、代码清晰、交互友好。
2026-02-18 07:45:00
1239
原创 Flutter三方库适配OpenHarmony【flutter_speech】— 语言支持与 Locale 处理
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net语言支持是flutter_speech在OpenHarmony适配中最大的差异点。原插件在Android和iOS上支持6种语言(中文、英文、法文、俄文、意大利文、西班牙文),到了OpenHarmony只能用中文。这不是flutter_speech的问题,而是Core Speech Kit当前的能力限制。作为适配者,我们能做的就是优雅地处理这个限制。
2026-02-18 07:30:00
965
原创 Flutter三方库适配OpenHarmony【flutter_speech】— MethodChannel 双向通信实现
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net前面几篇我们分别讲了权限申请、引擎创建、监听器、启动停止、资源释放。这些功能散落在不同的方法中,是时候把它们串起来了。MethodChannel是连接Dart层和原生层的桥梁,所有的交互都通过它完成。flutter_speech的通信是双向的——Dart层可以调用原生方法(如activate、listen),原生层也可以主动通知Dart层(如识别结果、错误事件)。
2026-02-18 07:15:00
1174
原创 Flutter三方库适配OpenHarmony【flutter_speech】— 引擎销毁与资源释放
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net“创建容易销毁难”——这句话在资源管理领域特别适用。语音识别引擎占用了麦克风、网络连接、内存等多种系统资源,如果不正确释放,轻则内存泄漏,重则麦克风被锁死,其他App都用不了。flutter_speech的方法只有十几行代码,但它是整个插件最后的防线。不管前面的流程多么完美,如果销毁没做好,都会留下隐患。今天我们来看看这十几行代码背后的设计考量。💡本文对应源码的方法(第250-263行)和。
2026-02-18 07:00:00
770
原创 Flutter三方库适配OpenHarmony【flutter_speech】— 语音识别停止与取消
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net语音识别不只是"开始"那么简单,怎么结束同样重要。flutter_speech提供了两种结束方式——stop和cancel,它们的语义完全不同:stop是"我说完了,给我结果",cancel是"算了不要了"。这两个方法的代码都很短,加起来不到30行。但别小看这30行代码,里面涉及的状态管理和边界场景处理是整个插件中最容易出bug的地方。重复调用怎么办?引擎未初始化怎么办?
2026-02-16 22:33:57
1209
原创 Flutter三方库适配OpenHarmony【flutter_speech】— 语音识别启动与参数配置
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net引擎创建好了,监听器也设置好了,现在终于可以开始识别了。方法是用户按下"开始"按钮后真正触发的动作,也是整个语音识别流程中参数最多的一个环节。Core Speech Kit的需要传入一个对象,里面包含了音频参数、扩展参数、会话ID等配置。这些参数直接影响识别的质量和行为——采样率设错了识别不出来,VAD参数设错了要么截断用户的话,要么等半天才返回结果。
2026-02-16 22:27:32
913
原创 Flutter三方库适配OpenHarmony【flutter_speech】— 语音识别监听器实现
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net引擎创建好了,接下来最重要的就是设置监听器——告诉引擎"识别到结果了通知我"。这就是方法要做的事。监听器是整个语音识别流程中信息密度最高的部分。四个回调方法(onStart、onEvent、onResult、onError)加上一个onComplete,每个回调的触发时机、参数含义、与Dart层的映射关系,都需要搞清楚。我在实现这个监听器的时候,最头疼的是onResult回调中isLast。
2026-02-16 22:22:31
783
原创 Flutter三方库适配OpenHarmony【flutter_speech】— 语音识别引擎创建
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net上一篇搞定了权限申请,今天来讲语音识别引擎的创建——。这是整个语音识别流程中最关键的一步,引擎创建成功了,后面的监听、识别、停止都是顺水推舟的事。说实话,这个API看起来很简单——就两个参数嘛。但实际用起来,参数格式、异步处理、异常捕获、能力检测,每一个环节都有讲究。我在适配过程中,光是language参数的格式转换就折腾了好一会儿——Dart层传过来的是zh_CN。
2026-02-16 22:15:07
1317
原创 Flutter三方库适配OpenHarmony【flutter_speech】— 麦克风权限申请实现
欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net语音识别的第一道门槛不是技术实现,而是权限。没有麦克风权限,后面的一切都是空谈。OpenHarmony的权限模型和Android类似,都是"声明+动态申请"的两步走模式。但具体的API和流程有不少差异。我在适配flutter_speech的时候,权限这块花了不少时间——不是因为API复杂,而是因为权限声明的位置搞错了。插件的module.json5?宿主App的module.json5?
2026-02-16 22:06:58
808
人工智能+Minimax+五子棋+对战系统 AI+博弈算法+棋类游戏+智能
2026-02-25
跨平台开发+Flutter认证插件+Web授权+第三方登录解决方案
2026-02-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅