Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
31924673
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
31924673
编写于
5月 19, 2023
作者:
zyjhandsome
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
优化部分描述,以及针对部分仅系统应用可用的场景标题增加显性标识
Signed-off-by:
zyjhandsome
<
zyjhandsome@126.com
>
上级
7236d18e
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
40 addition
and
24 deletion
+40
-24
zh-cn/application-dev/application-models/Readme-CN.md
zh-cn/application-dev/application-models/Readme-CN.md
+2
-2
zh-cn/application-dev/application-models/common-event-remove-sticky.md
...tion-dev/application-models/common-event-remove-sticky.md
+10
-4
zh-cn/application-dev/application-models/common-event-static-subscription.md
...ev/application-models/common-event-static-subscription.md
+18
-9
zh-cn/application-dev/application-models/dataability-overview.md
...pplication-dev/application-models/dataability-overview.md
+0
-1
zh-cn/application-dev/application-models/extensionability-overview.md
...ation-dev/application-models/extensionability-overview.md
+2
-2
zh-cn/application-dev/application-models/hop-cross-device-migration.md
...tion-dev/application-models/hop-cross-device-migration.md
+1
-1
zh-cn/application-dev/application-models/inputmethodextentionability.md
...ion-dev/application-models/inputmethodextentionability.md
+1
-0
zh-cn/application-dev/reference/apis/js-apis-app-ability-serviceExtensionAbility.md
...rence/apis/js-apis-app-ability-serviceExtensionAbility.md
+3
-2
zh-cn/application-dev/reference/apis/js-apis-application-staticSubscriberExtensionAbility.md
...s/js-apis-application-staticSubscriberExtensionAbility.md
+3
-3
未找到文件。
zh-cn/application-dev/application-models/Readme-CN.md
浏览文件 @
31924673
...
...
@@ -20,7 +20,7 @@
-
[
AccessibilityExtensionAbility
](
accessibilityextensionability.md
)
-
[
EnterpriseAdminExtensionAbility
](
enterprise-extensionAbility.md
)
-
[
InputMethodExtensionAbility
](
inputmethodextentionability.md
)
-
[
WindowExtensionAbility
](
windowextensionability.md
)
-
[
WindowExtensionAbility
(仅对系统应用开放)
](
windowextensionability.md
)
-
服务卡片开发指导(Stage模型)
-
[
服务卡片概述
](
service-widget-overview.md
)
-
开发基于ArkTS UI的卡片
...
...
@@ -73,7 +73,7 @@
-
[
静态订阅公共事件(仅对系统应用开放)
](
common-event-static-subscription.md
)
-
[
取消动态订阅公共事件
](
common-event-unsubscription.md
)
-
[
公共事件发布
](
common-event-publish.md
)
-
[
移除粘性公共事件
](
common-event-remove-sticky.md
)
-
[
移除粘性公共事件
(仅对系统应用开放)
](
common-event-remove-sticky.md
)
-
[
后台服务
](
background-services.md
)
-
了解线程模型
-
[
线程模型概述
](
thread-model-stage.md
)
...
...
zh-cn/application-dev/application-models/common-event-remove-sticky.md
浏览文件 @
31924673
# 移除粘性公共事件
# 移除粘性公共事件
(仅对系统应用开放)
## 场景介绍
...
...
@@ -16,13 +16,19 @@
## 开发步骤
1.
导入模块。
1.
需要申请
`ohos.permission.COMMONEVENT_STICKY`
权限,配置方式请参见
[
配置文件权限声明
](
typora://app/security/accesstoken-guidelines.md#配置文件权限声明
)
。
2.
导入模块。
```
ts
import
commonEventManager
from
'
@ohos.commonEventManager
'
;
```
2.
移除的粘性公共事件,必须是本应用之前已发布的粘性公共事件,发布粘性公共事件参考
[
公共事件发布
](
common-event-publish.md
)
章节。
3.
调用
[
`removeStickyCommonEvent()`
](
/reference/apis/js-apis-commonEventManager.md#commoneventmanagerremovestickycommonevent10
)
方法移除对应的粘性公共事件。
> **说明:**
>
> 移除的粘性公共事件,必须是本应用之前已发布的粘性公共事件,发布粘性公共事件参考[公共事件发布](common-event-publish.md)章节。
```
ts
commonEventManager
.
removeStickyCommonEvent
(
"
sticky_event
"
,
(
err
)
=>
{
// sticky_event粘性公共事件名
...
...
zh-cn/application-dev/application-models/common-event-static-subscription.md
浏览文件 @
31924673
...
...
@@ -2,27 +2,35 @@
## 场景介绍
静态订阅者在未接收订阅的目标事件时,处于未拉起状态,当系统或应用发布了指定的公共事件后,静态订阅者将被拉起,并执行onReceiveEvent回调,开发者可通过在onReceiveEvent回调中执行业务逻辑,实现当应用接收到特定公共事件时执行业务逻辑的目的。例如,某应用希望在设备开机的时候执行一些初始化任务,那么该应用可以静态订阅开机事件,在收到开机事件后会拉起该应用,然后执行初始化任务。静态订阅是通过配置文件声明和实现继承自StaticSubscriberExtensionAbility的类实现对公共事件的订阅。
**需要注意的是,静态订阅公共事件对系统功耗有一定影响,建议谨慎使用**
。
静态订阅者在未接收订阅的目标事件时,处于未拉起状态。当系统或应用发布了指定的公共事件后,静态订阅者将被拉起,并执行
[
`onReceiveEvent()`
](
../reference/apis/js-apis-application-staticSubscriberExtensionAbility.md#staticsubscriberextensionabilityonreceiveevent
)
回调。
开发者可以通过在
[
`onReceiveEvent()`
](
../reference/apis/js-apis-application-staticSubscriberExtensionAbility.md#staticsubscriberextensionabilityonreceiveevent
)
回调中执行业务逻辑,实现当应用接收到特定公共事件时执行业务逻辑的目的。例如,应用希望在设备开机时执行一些初始化任务,那么该应用可以静态订阅开机事件,在收到开机事件后会拉起该应用,然后执行初始化任务。
静态订阅是通过配置文件声明和实现继承自
[
`StaticSubscriberExtensionAbility`
](
../reference/apis/js-apis-application-staticSubscriberExtensionAbility.md
)
的类实现对公共事件的订阅。
> **说明:**
>
> 需要注意的是,静态订阅公共事件对系统功耗有一定影响,建议谨慎使用。
## 开发步骤
1.
静态订阅者声明
1.
静态订阅者声明
。
声明一个静态订阅者,首先需要在工程中新建一个ExtensionAbility,该ExtensionAbility从StaticSubscriberExtensionAbility派生,其代码实现如下:
声明一个静态订阅者,首先需要在工程中新建一个ExtensionAbility,该ExtensionAbility从StaticSubscriberExtensionAbility派生。
开发者可以在
[
`onReceiveEvent()`
](
../reference/apis/js-apis-application-staticSubscriberExtensionAbility.md#staticsubscriberextensionabilityonreceiveevent
)
回调中实现业务逻辑。
```
ts
import
StaticSubscriberExtensionAbility
from
'
@ohos.application.StaticSubscriberExtensionAbility
'
export
default
class
StaticSubscriber
extends
StaticSubscriberExtensionAbility
{
onReceiveEvent
(
event
)
{
console
.
info
(
'
onReceiveEvent, event:
'
+
event
.
event
);
console
.
info
(
'
onReceiveEvent, event:
'
+
event
.
event
);
}
}
```
开发者可以在onReceiveEvent中实现业务逻辑。
2.
静态订阅者工程配置
2.
静态订阅者工程配置。
在完成静态订阅者的代码实现后,需要将该订阅者配置到系统的module.json5中,配置形式如下:
...
...
@@ -88,9 +96,9 @@
3.
修改设备系统配置文件
修改设备系统配置文件 **/system/etc/app/install_list_capability.json**,将静态订阅应用者的包名添加至该json文件中即可。
修改设备系统配置文件
**/system/etc/app/install_list_capability.json**
,将静态订阅应用者的包名添加至该json文件中即可。
```json
```
json
{
"install_list"
:
[
{
...
...
@@ -100,6 +108,7 @@
]
}
```
## 相关示例
针对StaticSubscriberExtensionAbility开发,可参考如下实例:
...
...
zh-cn/application-dev/application-models/dataability-overview.md
浏览文件 @
31924673
...
...
@@ -8,4 +8,3 @@ DataAbility,即"使用Data模板的Ability",主要用于对外部提供统
数据的存放形式多样,可以是数据库,也可以是磁盘上的文件。DataAbility对外提供对数据的增、删、改、查,以及打开文件等接口,这些接口的具体实现由开发者提供。
zh-cn/application-dev/application-models/extensionability-overview.md
浏览文件 @
31924673
...
...
@@ -17,11 +17,11 @@ ExtensionAbility组件是基于特定场景(例如服务卡片、输入法等
-
[
AccessibilityExtensionAbility
](
../reference/apis/js-apis-application-accessibilityExtensionAbility.md
)
:ACCESSIBILITY类型的ExtensionAbility组件,用于提供辅助功能业务的能力。
-
[
DataShareExtensionAbility
](
../reference/apis/js-apis-application-dataShareExtensionAbility.md
)
:DATA_SHARE类型的ExtensionAbility组件,用于提供支持数据共享业务的能力。
-
[
DataShareExtensionAbility
(仅对系统应用开放)
](
../reference/apis/js-apis-application-dataShareExtensionAbility.md
)
:DATA_SHARE类型的ExtensionAbility组件,用于提供支持数据共享业务的能力。
-
[
StaticSubscriberExtensionAbility
](
../reference/apis/js-apis-application-staticSubscriberExtensionAbility.md
)
:STATIC_SUBSCRIBER类型的ExtensionAbility组件,用于提供静态广播的能力。
-
[
WindowExtensionAbility
](
../reference/apis/js-apis-application-windowExtensionAbility.md
)
:WINDOW类型的ExtensionAbility组件,用于提供界面组合扩展能力,允许系统应用进行跨应用的界面拉起和嵌入。
-
[
WindowExtensionAbility
(仅对系统应用开放)
](
../reference/apis/js-apis-application-windowExtensionAbility.md
)
:WINDOW类型的ExtensionAbility组件,用于提供界面组合扩展能力,允许系统应用进行跨应用的界面拉起和嵌入。
-
[
EnterpriseAdminExtensionAbility
](
../reference/apis/js-apis-EnterpriseAdminExtensionAbility.md
)
:ENTERPRISE_ADMIN类型的ExtensionAbility组件,用于提供企业管理时处理管理事件的能力,比如设备上应用安装事件、锁屏密码输入错误次数过多事件等。
...
...
zh-cn/application-dev/application-models/hop-cross-device-migration.md
浏览文件 @
31924673
...
...
@@ -16,7 +16,7 @@
跨端迁移流程如下图所示。
**图1**
跨端迁移流程图
**图1**
跨端迁移流程图
![
hop-cross-device-migration
](
figures/hop-cross-device-migration.png
)
...
...
zh-cn/application-dev/application-models/inputmethodextentionability.md
浏览文件 @
31924673
...
...
@@ -16,6 +16,7 @@
服务被首次创建时触发该回调,开发者可以在此进行一些初始化的操作,例如注册公共事件监听等。
> **说明:**
>
> 如果服务已创建,再次启动该InputMethodExtensionAbility不会触发onCreate()回调。
-
**onDestroy**
...
...
zh-cn/application-dev/reference/apis/js-apis-app-ability-serviceExtensionAbility.md
浏览文件 @
31924673
...
...
@@ -3,8 +3,9 @@
ServiceExtensionAbility模块提供后台服务相关扩展能力,提供后台服务创建、销毁、连接、断开等生命周期回调。
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>
> 本模块接口仅可在Stage模型下使用。
## 导入模块
...
...
zh-cn/application-dev/reference/apis/js-apis-application-staticSubscriberExtensionAbility.md
浏览文件 @
31924673
...
...
@@ -3,8 +3,9 @@
StaticSubscriberExtensionAbility模块提供静态订阅者ExtensionAbility的类别的能力。
> **说明:**
>
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>
> 本模块接口仅可在Stage模型下使用。
## 导入模块
...
...
@@ -37,7 +38,6 @@ onReceiveEvent(event: CommonEventData): void;
| event |
[
CommonEventData
](
js-apis-commonEventManager.md#commoneventdata
)
| 是 | 静态订阅者通用事件回调。 |
**示例:**
```
ts
class
MyStaticSubscriberExtensionAbility
extends
StaticSubscriberExtensionAbility
{
onReceiveEvent
(
event
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录