
Harmonyos知识体系
文章平均质量分 70
GeorgeGcs
历经腾讯,宝马,研究所,金融。
待过私企,外企,央企。
深耕大应用开发领域十年。
OpenHarmony,HarmonyOS,Flutter,H5,Android,IOS。 目前任职鸿蒙应用架构师。
HarmonyOS官方认证创作先锋
展开
-
【HarmonyOS 5】初学者如何高效的学习鸿蒙?
在全球科技格局风云变幻的当下,谷歌安卓系统的管控逐步收紧,加之国际形势愈发复杂,打造中国人自主的操作系统,已成为时代发展的必然要求,这不仅是突破技术瓶颈的关键之举,更是构建国内自主生态闭环的核心所在。鸿蒙操作系统,正是顺应这一趋势的前沿探索,其研发代表了我国操作系统领域的重要方向。2021 年 6 月 2 日,华为举办鸿蒙操作系统及华为全场景新品发布会,正式发布面向智能手机的鸿蒙操作系统 2.0 版本,并且支持 Java 语言进行开发。原创 2025-03-29 18:17:18 · 1210 阅读 · 0 评论 -
【HarmonyOS NEXT】EventHub和Emitter的使用场景与区别
和EventHub不同的是,事件广播的内容,也进行了约束。发送事件时传递的数据,支持数据类型包括Array、ArrayBuffer、Boolean、DataView、Date、Error、Map、Number、Object、Primitive(除了symbol)、RegExp、Set、String、TypedArray,数据大小最大为16M。标准的事件广播通知,订阅,取消订阅的处理。多了事件id和优先级的概念。获得到EventHub单例对象后,就可以调用emit发送事件,on监听事件,off取消监听事件。原创 2025-03-26 22:49:06 · 1201 阅读 · 0 评论 -
【HarmonyOS Next】鸿蒙应用弹框和提示气泡详解(二)之浮层(OverlayManager),半模态页面(bindSheet),全模态页面(bindContentCover)详解
上期围绕 HarmonyOS Next 最新API趋势,介绍了鸿蒙应用中最新的自定义弹框和提示气泡的使用。在鸿蒙ArkUI响应式布局中,早期弹框 Dialog 和提示气泡 Toast 与 UI 绑定,在纯逻辑类文件中使用不便,后续 API 迭代实现了解耦,且与 UI 强绑定的方式已不推荐。接着详细讲解了鸿蒙中弹框的使用,弹框有系统定制弹框(包括基础弹框如警告弹框、列表弹窗,以及带业务性质的 PickerDialog 弹框如日历选择器弹窗等)和自定义弹框两种方式,并给出了相应示例代码。原创 2025-03-26 16:44:18 · 738 阅读 · 0 评论 -
【HarmonyOS Next】鸿蒙中App、HAP、HAR、HSP概念详解
综上所述,HAR 是静态共享包,HSP 是动态共享包,它们和 HAP(应用的基本功能模块)一起被打包成 App Pack(应用发布形态)用于应用的发布与分发。原创 2025-03-19 23:38:42 · 1310 阅读 · 0 评论 -
【HarmonyOS Next】鸿蒙中自定义弹框OpenCustomDialog、CustomDialog与DialogHub的区别详解
1. 官方迭代过程为迭代过程表明,弹框的调用越来越便捷,与UI解耦,最终达到在纯逻辑中使用自定义弹出,弹框内容更新和生命周期可控,写法简洁。首先需要创建@CustomDialog装饰的自定义弹框布局,CustomDialogController来实现弹窗弹出和关闭。// CustomDialog可直接获取到dialogController// 定义事件回调给外部使用onClose?build() {Column() {Text('我是内容')// 点击关闭弹框@Entry。原创 2025-03-18 23:16:54 · 1332 阅读 · 0 评论 -
【HarmonyOS Next】鸿蒙应用实现弹框DialogHub详解
鸿蒙中实现弹框目前官方提供openCustomDialog和CustomDialog两种模式。UI强绑定的实现方式API已标注不推荐。推荐使用UI框架层预留挂靠节点的方式,即openCustomDialog。这两者的差别详见【HarmonyOS Next】鸿蒙应用弹框和提示气泡详解(一)DialogHub底层实现原理为,使用浮层OverlayManager➕半模态页面bindSheet来实现弹框。可以达到我们在传统Android和IOS开发中,弹框与页面生命周期绑定的效果(页面隐藏,弹框隐藏。原创 2025-03-18 17:59:53 · 502 阅读 · 0 评论 -
【HarmonyOS Next】鸿蒙应用弹框和提示气泡详解(一)
应用开发中我们会很频繁的接触,弹框Dialog和提示气泡Toast的使用。移动开发的同学会比较熟悉。不过在鸿蒙的响应式布局中,使用鸿蒙早期提供的弹框Dialog和提示气泡Toast,会很不方便。因为是和UI绑定在一起,在纯逻辑类文件中使用不了。因为该历史问题,后续API迭代时,对鸿蒙的弹框Dialog和提示气泡Toast进行了升级。目前可以在纯逻辑类中使用,与UI进行了解耦。迭代优化过程从page界面UI上弹出 =》挂靠子窗口实现弹出=》UI框架层预留挂靠节点。原创 2025-03-10 16:00:20 · 650 阅读 · 0 评论 -
【HarmonyOS Next】鸿蒙应用加载SVG文件显示图标
r 是资源引用函数,media.icon 表示引用 media 目录下名为 icon 的资源文件。这里会加载 entry/src/main/resources/base/media 目录下的 icon.svg 文件。SVG 使用 XML 文本格式来描述图形,与传统的位图图像(如 JPEG、PNG 等)不同,SVG 图形是由一系列的点、线、形状和颜色定义组成的,而不是像素点。首先将 SVG 文件放置在项目的 entry/src/main/resources/base/media 目录下。原创 2025-03-10 10:47:09 · 434 阅读 · 0 评论 -
【HarmonyOS Next】鸿蒙加固方案调研和分析
根据鸿蒙应用的上架流程,本地构建app文件后,上架到AGC平台,平台会进行解析。根据鸿蒙系统的特殊设置,仿照IOS的生态闭环方案。只能从AGC应用市场下载app进行安装。这样的流程一定程度上提高了防破解和逆向的成本。但应用代码防逆向是一个持续攻防对抗的过程,如对代码文件保护有更高的要求,需要结合其他安全加固措施,进一步提高逆向分析应用的难度。原创 2025-03-09 19:41:39 · 1184 阅读 · 0 评论 -
【HarmonyOS Next】鸿蒙应用故障处理思路详解
一般碰到内存泄漏,根据提供的复现步骤,很多情况下是非必现。根据复现步骤,我们需要查看日志表现,鸿蒙的DevEco IDE提供了日志看板,根据HiLog和FaultLog,我们可以初步区分崩溃问题的类型。因为提供复现步骤得人,可能是用户和测试,非开发人员,其中的步骤并非最短路径。一般是由于耗时操作,导致堵塞主线程。这种问题排查起来是最麻烦的,所以保持良好的代码编程规范,不需要的对象该释放释放,不用的句柄也需要释放。可以根据JS Crash提示的错误行数,直接点击跳转到错误代码处,根据提示检查和修复问题。原创 2025-03-09 17:54:00 · 959 阅读 · 0 评论 -
【HarmonyOS Next】鸿蒙状态管理装饰器V1和V2混用方案
大量使用的都是V1方案。原则上,只使用@ObservedV2与@Trace装饰器来解决深层嵌套对象更新UI的问题。暂时不使用其他的V2装饰器,其他的状态管理依旧使用V1即可。当需要监听处理更新的多层级对象是七八层,就需要配套创建七八层的ObjectLink,代码太过于冗余。V2就是为了解决该问题,华为官方才提出的新状态管理装饰器方案。该方案在解决该问题的基础上,也对V1的进行加强。但是不用V2,前面提到的嵌套更新问题又需要好的方案解决。所以就需要V1和V2混用。所以官方V1和V2目前是相关独立,也可混用。原创 2025-02-27 11:47:54 · 851 阅读 · 0 评论 -
【HarmonyOS Next】鸿蒙应用折叠屏设备适配方案
目前应用上架华为AGC平台,都会被要求适配折叠屏设备。目前华为系列的折叠屏手机,有华为 Mate系列(左右折叠,华为 Mate XT三折叠),华为Pocket 系列(上下折叠)。原创 2025-02-27 10:23:04 · 1762 阅读 · 0 评论 -
【HarmonyOS Next】鸿蒙TaskPool和Worker详解 (一)
【内存共享并发模型指多线程同时执行任务,这些线程依赖同一内存并且都有权限访问,线程访问内存前需要抢占并锁定内存的使用权,没有抢占到内存的线程需要等待其他线程释放使用权再执行。从而最大化系统的利用率,降低整体资源消耗,并提高系统的整体性能。现在Worker同个进程下,最多支持同时开启64个Worker线程,实际数量由进程内存决定。互相之间不打扰,内存不共享,通过消息进行传递,线程间进行通信传输。在鸿蒙中通过TaskPool和Worker实现多线程并发,两者都基于Actor并发模型实现。原创 2025-02-26 18:00:34 · 788 阅读 · 0 评论 -
【HarmonyOS Next】 共享HSP和应用内HSP,useNormalizedOHMUrl详解
例如,在加载一些远程模块或者资源时,可能需要将基础 URL 和具体的资源路径进行拼接,并且要确保生成的 URL 格式符合要求,避免出现多余的斜杠、编码问题等。useNormalizedOHMUrl 为true的时候ohmurl使用的是新的拼接和解析方式,不能和旧的ohmurl混用,会导致运行时无法识别。关于字节码HAR包,指的是其中包含的是编译后的abc字节码,相比包含源码的HAR和包含js中间码的HAR,可以有效提升应用模块的编译构建效率。ohmurl使用的是新的拼接和解析方式。原创 2025-02-26 10:35:41 · 858 阅读 · 0 评论 -
【HarmonyOS Next】鸿蒙应用公钥和证书MD5指纹的获取
华为AppGallery Connect简称 AGC平台,是我们的鸿蒙应用进行上架和开发生产和测试证书配置的管理后台。政府的icp备案时,或者某些三方SDK以来的管理后台,都需要配置鸿蒙应用的公钥和证书MD5指纹。根据提示去配置证书公钥:(此时将相关信息粘贴走即可。原创 2025-02-25 17:28:19 · 744 阅读 · 0 评论 -
【HarmonyOS Next】鸿蒙循环渲染ForEach,LazyForEach,Repeat使用心得体会
Repeat提供了两种模式non-virtualScroll模式和virtualScroll模式。non-virtualScroll模式类似于ForEach的使用。渲染短数据列表、组件全部加载的场景。@Entry@Local tempList: Array<string> = ['第一行代码', '开发艺术探索', '入门到精通'];build() {Row() {Column() {Text('点击修改第1个数组项的值')原创 2025-02-24 14:34:54 · 1161 阅读 · 0 评论 -
【HarmonyOS Next】拒绝权限二次申请授权处理
综上所述,当应用通过requestPermissionsFromUser()拉起弹框请求用户授权时,用户拒绝授权。应用将无法再次通过该接口申请权限拉起弹框,需要用户在系统应用“设置”的界面中,手动授予权限。之前的通用方案是,跳转到应用设置界面,让用户自己去手动设置同意所需的权限。应用此种情况下,可以通过调用requestPermissionOnSetting(),直接拉起权限设置弹框,引导用户授予权限。当用户选择不允许后,再次向用户申请权限,该弹框就不会再显示。因为鸿蒙系统机制处理如此,为了避免骚扰用户。原创 2025-02-23 21:26:41 · 677 阅读 · 0 评论 -
【HarmonyOS Next】鸿蒙状态管理V2装饰器详解
Local可理解为v1版本的@State,当被@Local装饰的变量变化时,会刷新使用该变量的组件。原创 2025-02-23 21:14:06 · 1136 阅读 · 0 评论 -
OpenHarmony和HarmonyOS区别与共性
OpenHarmony开源鸿蒙与HarmonyOS商业鸿蒙的区别一、本是同根生最近鸿蒙开发越来越火,特别是因为开源鸿蒙的存在,很多系统开发,直接使用OpenHarmony。但是初学者很容易把HarmonyOS商业鸿蒙和开源鸿蒙弄混。首先我们聊一下这两者的关系,然后再说技术上的区别。众所周知,鸿蒙是华为开发的一款分布式智慧操作系统。因为开发系统,最重要的是集思广益,大家共同维护。为了在IOS和Android之间生存,鸿蒙的茁壮成长一定是需要开源,各方助力才能实现。在这种思想上,华为的鸿蒙将Har原创 2022-05-01 21:10:41 · 8957 阅读 · 3 评论 -
【HarmonyOS NEXT】systemDateTime 时间戳转换为时间格式 Date,DateTimeFormat
在鸿蒙应用开发中,经常需要将时间戳转化为标准时间格式。即:一串数字转化为年月日时分秒。时间戳通常是一个长整型的数字,如,对于普通用户来说,这个数字没有实际的意义,他们难以从中获取到有用的时间信息。而将其转换为常见的时间格式,如,用户可以直观地了解到具体的日期和时间,极大地提升了信息的可读性。因为鸿蒙应用开发使用ArkTS包含于TypeScript语言,所以我们可以通过传统的Date对象解析进行时间戳转化时间格式的处理。不过在鸿蒙系统API中,提供了用于国际化时间格式转化的接口。原创 2025-02-07 17:23:04 · 1361 阅读 · 0 评论 -
【HarmonyOS NEXT】鸿蒙三方应用跳转到系统浏览器
从三方应用跳转到系统浏览器是比较常见的功能。三方应用的功能通常相对聚焦和特定,无法涵盖用户可能需要的所有网络浏览需求。跳转到系统浏览器能让用户访问更广泛的网页内容,弥补三方应用自身功能的局限性,如在购物应用中点击外部链接查看商品评测、在阅读应用中打开链接获取更多背景知识等。不同的应用场景对浏览体验有不同要求。有些场景下,用户需要在应用内进行深度交互,而在另一些场景下,可能更需要系统浏览器提供的通用、全面的浏览功能,如全屏浏览、多标签页管理等。原创 2025-01-20 18:02:57 · 1036 阅读 · 0 评论 -
【HarmonyOS NEXT】鸿蒙跳转华为应用市场目标APP下载页
随着鸿蒙系统用户越来越多,大家都希望能在鸿蒙设备上快速找到想用的 APP。华为应用市场里有海量的 APP,但之前从鸿蒙设备进入应用市场找特定 APP 的过程有点繁琐。站在用户体验方面,这么做能大大节省用户找 APP 的时间,让大家更快下载想用的应用,极大地提升用户使用鸿蒙设备获取应用的体验。从开发角度来说,打通鸿蒙设备到华为应用市场目标 APP 下载页的直接跳转,能优化整个开发链路。从产品需求出发,这能提升应用分发的效率,助力产品推广。跳转目标app的下载页,需要知道其包名即可。原创 2025-01-14 16:56:34 · 950 阅读 · 0 评论 -
【HarmonyOS NEXT】鸿蒙应用点9图的处理(draw9patch)
首先在鸿蒙中是不支持安卓 .9图的图片直接使用。只有类似拉伸的处理方案,鸿蒙提供的Image组件有与点九图相同功能的API设置。可以通过设置resizable属性来设置ResizableOptions,也就是图像拉伸时可调整大小的图像选项。ResizableOptions的参数slice中有top、left、bottom和right四个属性,分别代表图片上下左右四个方向拉伸时保持不变距离。原创 2025-01-06 20:42:29 · 881 阅读 · 0 评论 -
【HarmonyOS NEXT】鸿蒙应用使用后台任务之长时任务,解决屏幕录制音乐播放等操作不被挂起
1.后台是什么?了解后台任务和长时任务前,我们需要先明白鸿蒙的后台特性:所谓的后台,指的是设备返回主界面、锁屏、应用切换等操作会使应用退至后台这个状态。2.鸿蒙系统为什么这么做?当应用退至后台后,如果继续活动,可能会造成设备耗电快、用户界面卡顿等现象。鸿蒙系统为了降低设备耗电速度、保障用户使用流畅度,系统会对退至后台的应用进行管控,包括进程挂起和进程终止。3.会有什么问题?当系统将应用挂起后,应用进程无法使用软件资源(如公共事件、定时器等)和硬件资源(CPU、网络、GPS、蓝牙等)。原创 2025-01-06 15:11:09 · 950 阅读 · 0 评论 -
【HarmonyOS NEXT】鸿蒙应用实现屏幕录制详解和源码
官方文档关于屏幕录制的API和示例介绍获取简单和突兀。使用其他会让上手程度变高。所以特意开篇文章,讲解屏幕录制的使用。使用AVScreenCaptureRecorder录屏写文件(ArkTS)原创 2025-01-05 21:38:46 · 1289 阅读 · 1 评论 -
【HarmonyOS NEXT】鸿蒙应用如何进行页面横竖屏切换以及注意事项,自动切换横竖屏,监听横竖屏
鸿蒙应用如何进行页面横竖屏切换以及注意事项,自动切换横竖屏,监听横竖屏原创 2025-01-03 16:23:13 · 1006 阅读 · 0 评论 -
【HarmonyOS NEXT】解决自定义弹框遮挡气泡提示的问题
弹框和气泡,dialog和toast。是我们应用开发中常用的两种提示媒介。在鸿蒙应用中,如果自定义弹框在底部展示时,又弹出气泡进行提示,会发现气泡在弹框层级之下。会被遮挡住,影响气泡的显示。原创 2024-12-30 18:32:05 · 532 阅读 · 0 评论 -
【HarmonyOS NEXT】解决自定义弹框和键盘之间安全距离的问题
我们在应用开发评论输入框时,常规的需求样式是:输入框view和键盘贴近,上半部展示信息区的形式,这样的设计,方便用户不割裂的去评论发言。但是在使用鸿蒙提供的自定义弹框时,会发现键盘和弹框之间有个安全空隙。就算弹框布局是置底,每次显示键盘都会将弹框顶上去。自定义弹框源码@Componentcontroller?build() {Column() {})@Entry@Component}),},})// 在自定义组件即将析构销毁时将dialogController置空。原创 2024-12-30 17:20:07 · 1223 阅读 · 1 评论 -
【HarmonyOS NEXT】鸿蒙应用压缩和解压处理
鸿蒙应用中经常会遇到使用压缩包的场景。例如H5的离线包逻辑,需要提前将资源包下载到本地,进行压缩操作获取资源。原创 2024-12-27 17:17:43 · 1250 阅读 · 0 评论 -
【HarmonyOS NEXT】鸿蒙将资源文件夹Resource-RawFile下的文件存放到沙箱目录下
应用开发中,我们经常会遇到一些文件原先是放在资源文件夹 rawfile下,但是逻辑处理时,需要转移到本地沙箱才能操作。这种情况下,就需要将将资源文件夹Resource-RawFile下的文件存放到沙箱目录下。在鸿蒙系统中,文件存储分为不同的域,如应用内部存储(应用私有目录)和外部存储(公共目录等)。而rawfile是一种资源文件类型,通常在应用开发过程中作为原始文件被打包进应用的资源目录。在鸿蒙中,应用仅能保存文件到“应用文件目录”下,根据目录的使用规范和注意事项来选择将数据保存到不同的子目录中。原创 2024-12-26 18:53:52 · 1107 阅读 · 0 评论 -
【HarmonyOS NEXT】鸿蒙使用ScanKit实现自定义扫码 (二)之解析相册图片二维码
1.从相册中选图,目前最简单的方式是 PhotoPicker/*** 去相册选择图片*/try {// 设置筛选过滤条件// 选择用户选择数量// 实例化图片选择器// 唤起安全相册组件if (err) {return;// 用户选择确认后,会回调到这里。});2.将拿到的图片信息给scanKit提供的decode接口进行解析二维码/*** 解析图片码数据*/if(uri){uri: uri,scanCore],// 开启识别多码try {原创 2024-12-24 11:25:01 · 500 阅读 · 0 评论 -
【HarmonyOS NEXT】如何读取Raw下的JSON文件内容
读取工程中/resources下json文件,json文件推荐放在rawfile路径下,通过getRawFileContent接口访问。但是通过该接口拿到的是Uint8Array类型数据,那怎么拿到JSON的文本内容?2.通过util.TextDecoder设置编码,解析字节流内容转化为string文本。1.首先通过getRawFileContent拿到文件的字节流内容。原创 2024-12-24 11:02:48 · 696 阅读 · 0 评论 -
【HarmonyOS NEXT】鸿蒙使用ScanKit实现自定义扫码 (一)之业务流程和扫码
鸿蒙官方提供了ScanKit来实现自定义扫码的功能诉求。但是对于扫码业务的讲解缺失,所以这篇文章主要是通过扫码业务路程,串连官方Kit的接口。让大家能更深刻的理解自定义扫码业务。官方Scan Kit接口说明扫码直达自定义扫码,图像识码 (自定义扫码需要这两种能力组合在一起,所以我分类在一起)码图生成系统提供的默认界面扫码扫码(单,多)【鸿蒙最多支持四个二维码的识别】解析图片二维码扫码动画扫码振动和音效无网络监测与提示多码暂停选中点的绘制。原创 2024-12-20 15:32:26 · 965 阅读 · 3 评论 -
【HarmonyOS NEXT】HarmonyOS和React Native混合开发 (一)之环境安装
React Native 也是声明式的组件开发,与ArkTS类似。相较于React Native在Android和IOS上,将js和react组件代码转化成对应的原生UI控件,实现原生UI的思路。HarmonyOS和React Native混合开发首先需要安装各自的开发环境。直接将js和react组件代码转化成了ArkUI的后台Cpp信息,并非转化为ArkUI控件,这样的思路提升了很高的渲染效率。与flutter不同的是,RN偏向于前端开发语言去实现跨平台应用的效果。而前者的开发思路偏重。原创 2024-12-19 22:15:58 · 1384 阅读 · 0 评论 -
【HarmonyOS NEXT】获取设备自定义名字
应用开发中我们经常需要拿到设备名称,非设备的品牌名称。例如,meta 60 Pro这种。而是用户自定义的设备名称。但是鸿蒙针对用户信息的保护非常严格。想拿到设备名称,通过常规的DeviceInfo接口,是拿不到设备名称。其他能拿到设备名称的接口,也需要是系统应用,或者受限权限申请。原创 2024-12-19 14:52:00 · 828 阅读 · 0 评论 -
【HarmonyOS NEXT】HarmonyOS 和 Flutter混合开发 (一)之鸿蒙Flutter环境安装
flutter作为开源适配框架方案,已经在Android,IOS,Web,Window四大平台进行了适配,一套代码,可以同时展现在多个平台。所以Flutter适配鸿蒙也正式发布了。经过了今年的迭代,已经逐渐稳定中,虽然没有RN框架在鸿蒙上的适配速度快,但是也可以商用了。跨平台为何选择Flutter。原创 2024-12-19 00:09:39 · 3892 阅读 · 0 评论 -
【HarmonyOS NEXT】鸿蒙应用实现手机摇一摇功能
手机摇一摇功能,是通过获取手机设备,加速度传感器接口,获取其中的数值,进行逻辑判断实现的功能。在鸿蒙中手机设备传感器@ohos.sensor (传感器)的系统API@ohos.sensor (传感器)官网API加速度传感器环境光传感器气压计传感器重力传感器陀螺仪传感器霍尔传感器心率传感器湿度传感器线性加速度传感器地磁传感器方向传感器计步器传感器接近光传感器旋转矢量传感器大幅动作检测传感器佩戴检测传感器其中。原创 2024-12-12 11:07:40 · 1992 阅读 · 0 评论 -
【HarmonyOS】View点击穿透,层叠View点击事件控制
在HarmonyOS中,经常会有层叠的View的布局,当碰到需要穿透的布局需求。就需要能控制View对点击事件的处理。默认触摸测试效果,自身和子节点都响应触摸测试,但会阻塞兄弟节点的触摸测试。touchable(false) 不处理点击,点击事件就会有穿透效果。自身和子节点都响应触摸测试,不会阻塞兄弟节点的触摸测试。自身不响应触摸测试,不会阻塞子节点和兄弟节点的触摸测试。目前虽然函数已提示过时,会有斜线,但是改方法比较简单。自身响应触摸测试,阻塞子节点和兄弟节点的触摸测试。原创 2024-05-28 20:00:00 · 1481 阅读 · 0 评论 -
【HarmonyOS NEXT】 鸿蒙图片或视频保存相册
鸿蒙中保存图片或者视频,或者其他媒体文件到设备的媒体库,可以是相册,也可以是文件管理等。需要应用申请受限权限,获取文件读写的权限(调用需要ohos.permission.READ_IMAGEVIDEO和ohos.permission.WRITE_IMAGEVIDEO的权限),这样就可以将媒体资源(图片or视频or等等)保存到媒体库。通过安全控件,用户触发后表示同意,可以临时授权给应用就行保存处理。关于第二种安全控件,又分为saveButton保存按钮和。原创 2024-12-09 18:09:52 · 2887 阅读 · 0 评论 -
【HarmonyOS NEXT】使用AVPlayer播放音乐,导致系统其它应用音乐播放暂停 - 播放音频焦点管理
在鸿蒙系统中,对于音乐播放分为几种场景。音乐,电影,音效,闹钟等。当使用AVPlayer播放音乐时,如果不处理播放焦点模式,默认会交给系统处理。系统处理多个音乐播放时,会按照触发顺序依次暂停当前,再继续下一个。例如当华为音乐应用正在播放音乐,此时你的应用使用AVPlayer进行音乐播放,就会导致华为音乐播放暂停,开始播放你的音乐。如果你的是音乐应用,默认这样处理是OK的。但是如果你使用AVPlayer播放一个短时音乐或者音效。那这样处理就不好了。这个问题实际上是播放焦点管理,如果不管理就会造成冲突。原创 2024-12-09 20:41:14 · 1225 阅读 · 0 评论