操作菜单 (showActionMenu)、对话框 (showDialog)需先使用UIContext中的 getPromptAction() 方法获取到PromptAction对象,再通过该对象调用对应方法。 列表选择弹出框 (ActionSheet)、警告弹出框 (AlertDialog)、选择器弹出框 (PickerDialog)中除CalendarPickerDialog都需先使用ohos.window中的 getUIContext() 方法获取UIContext实例,再通过此实例调用对应方法。或者可以通过自定义组件内置方法getUIContext()获取。
推荐使用UIContext中获取到的PromptAction对象提供的openCustomDialog接口在相对应用复杂的场景来实现自定义弹出框,相较于CustomDialogController优势点在于页面解耦,支持动态刷新。
从5.1.0(18)版本开始,导航组件新增支持菜单栏设置信息提醒能力。 当应用开发者需要在导航组件菜单项右上角附加消息提醒时,可以通过设置标题栏菜单中的badge配置,实现信息提醒能力。
创建一级导航组件,通过配置titleBar中的scrollEffectType属性,可实现通用模糊、过渡模糊、渐变模糊样式
ArkTS卡片框架提供卡片提供方(例如:应用)和卡片的数据交互能力。其中卡片通过postCardAction传递数据给卡片提供方,卡片提供方可以通过updateForm接口传递数据给卡片。卡片提供方将数据提供给卡片后,可以用于卡片页面刷新等。
在EntryFormAbility.ets中,实现FormExtensionAbility生命周期接口,其中在onAddForm的入参want中可以通过FormParam取出卡片的相关信息。
ArkTS卡片创建完成后,工程中会新增如下卡片相关文件:卡片生命周期管理文件(EntryFormAbility.ets)、卡片页面文件(WidgetCard.ets)和卡片配置文件(form_config.json)。
由于ArkTS天然线程安全,而Native侧代码需要开发者自行保障线程安全。Native侧C++子线程不可跨线程直接访问ArkTS对象。为此,Node-API提供了可保障线程异步执行与通信安全的机制 —— 线程安全函数。 比如,应用侧需要读取文件,使用线程安全进行实现时,应用侧程序将不会等待Native侧文件读取完成,并继续运行。
在NDK工程中,可以通过CMake语法规则引入并使用预构建库。在引用预构建库时,模块libs目录中的预构建库,以及在CMakeList.txt编译脚本中声明的预构建库都会被打包。
HarmonyOS NDK默认使用CMake作为构建系统,随包提供了符合HarmonyOS工具链的基础配置文件ohos.toolchain.cmake,用于预定义CMake变量来简化开发者配置。
使用命令行CMake构建NDK工程
开发者可以通过在module.json5配置文件中abilities标签下的supportWindowMode属性增加“split”字段或使用缺省值以声明应用支持分屏。
Video组件用于播放视频文件并控制其播放状态,常用于为短视频和应用内部视频的列表页面。当视频完整出现时会自动播放,用户点击视频区域则会暂停播放,同时显示播放进度条,通过拖动播放进度条指定视频播放到具体位置。
开发者可以NativeWindowEventFilter模块提供的能力去拦截按键事件,让按键事件不往应用内部组件分发。
当ArkTS侧在import一个so库时,只有首次调用会加载模块信息,触发模块注册。当工程被多次import时,是不会多次加载的。
napi_threadsafe_function napi_threadsafe_function用来创建一个线程安全的JavaScript函数,可以在不同的线程中调用。可以用于将异步操作的结果传递给JavaScript环境,例如从另一个线程中读取数据或执行计算密集型操作。
Progress是进度条显示组件,显示内容通常为目标操作的当前进度。
QRCode:显示单个二维码的组件。
Counter计数器组件,提供相应的增加或减少的计数操作。
通过文本显示计时信息并控制其计时器状态的组件。 在组件不可见时时间变动将停止,组件的可见状态基于onVisibleAreaChange处理,可见阈值ratios大于0即视为可见状态。
相机选择器提供相机拍照与录制的能力。应用可选择媒体类型实现拍照和录制的功能。调用此类接口时,应用必须在界面UIAbility中调用,否则无法启动cameraPicker应用。
相机管理器类,使用前需要通过getCameraManager接口获取相机管理实例。 通过调用相机服务接口,开发者可以开发相机应用,访问和操作相机硬件,实现基础功能如预览、拍照和录像。此外,还可以通过接口组合完成更多操作,如控制闪光灯、曝光时间和对焦等。
应用可获得用户从Picker选择的图片、视频的访问权限,读取图片、视频后进行编辑、修改。完成编辑修改后的图片/视频缓存到应用沙箱后,可调用本API,将编辑结果文件发送给PhotoPicker,并指定替换显示的原图。Picker根据指定将接收的编辑结果文件替换原图片进行显示。
@ohos.file.storageStatistics getCurrentBundleStats 获取当前应用的存储空间大小(单位为Byte)。 @ohos.file.storageStatistics getFreeSize 异步获取内置存储的可用空间大小(单位为Byte)。 说明:从API version 15开始,支持该接口。 @ohos.file.storageStatistics getFreeSizeSync 同步获取内置存储的可用空间大小(单位为Byte)。 说明:从API version 15开始,支持该接口。
应用需要对应用文件目录下的应用文件进行查看、创建、读写、删除、移动、复制、获取属性等访问操作,开发者通过基础文件操作接口(ohos.file.fs)实现应用文件访问能力。
开发者可以在布局中嵌入AlbumPickerComponent组件,通过此组件,应用无需申请权限,即可访问公共目录中的相册列表。 需配合PhotoPickerComponent一起使用,用户通过AlbumPickerComponent组件选择对应相册并通知PhotoPickerComponent组件刷新成对应相册的图片和视频。
系统提供的定位权限有: ohos.permission.LOCATION:用于获取精准位置,精准度在米级别。 ohos.permission.APPROXIMATELY_LOCATION:用于获取模糊位置,精确度为5公里。 ohos.permission.LOCATION_IN_BACKGROUND:用于应用切换到后台仍然需要获取定位信息的场景。
• 应用在UIExtensionAbility申请授权时,需要在onWindowStageCreate函数执行结束后或在onWindowStageCreate函数回调中调用requestPermissionsFromUser(),否则在ability加载完成前,requestPermissionsFromUser会调用失败。
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号