提交 31924673 编写于 作者: zyjhandsome's avatar zyjhandsome

优化部分描述,以及针对部分仅系统应用可用的场景标题增加显性标识

Signed-off-by: zyjhandsome's avatarzyjhandsome <zyjhandsome@126.com>
上级 7236d18e
......@@ -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)
......
# 移除粘性公共事件
# 移除粘性公共事件(仅对系统应用开放)
## 场景介绍
......@@ -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粘性公共事件名
......
......@@ -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开发,可参考如下实例:
......
......@@ -8,4 +8,3 @@ DataAbility,即"使用Data模板的Ability",主要用于对外部提供统
数据的存放形式多样,可以是数据库,也可以是磁盘上的文件。DataAbility对外提供对数据的增、删、改、查,以及打开文件等接口,这些接口的具体实现由开发者提供。
......@@ -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组件,用于提供企业管理时处理管理事件的能力,比如设备上应用安装事件、锁屏密码输入错误次数过多事件等。
......
......@@ -16,7 +16,7 @@
跨端迁移流程如下图所示。
**图1** 跨端迁移流程图  
**图1** 跨端迁移流程图
![hop-cross-device-migration](figures/hop-cross-device-migration.png)
......
......@@ -16,6 +16,7 @@
服务被首次创建时触发该回调,开发者可以在此进行一些初始化的操作,例如注册公共事件监听等。
> **说明:**
>
> 如果服务已创建,再次启动该InputMethodExtensionAbility不会触发onCreate()回调。
- **onDestroy**
......
......@@ -3,8 +3,9 @@
ServiceExtensionAbility模块提供后台服务相关扩展能力,提供后台服务创建、销毁、连接、断开等生命周期回调。
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>
> 本模块接口仅可在Stage模型下使用。
## 导入模块
......
......@@ -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.
先完成此消息的编辑!
想要评论请 注册