成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

OpenHarmony靜態(tài)訂閱應(yīng)用

系統(tǒng) OpenHarmony
本文將介紹如何使用靜態(tài)訂閱公共事件,靜態(tài)訂閱者在未接收訂閱的目標(biāo)事件時(shí),處于未拉起狀態(tài),當(dāng)系統(tǒng)或應(yīng)用發(fā)布了指定的公共事件后,靜態(tài)訂閱者將被拉起,并執(zhí)行onReceiveEvent回調(diào),開(kāi)發(fā)者可通過(guò)在onReceiveEvent回調(diào)中執(zhí)行業(yè)務(wù)邏輯,實(shí)現(xiàn)當(dāng)應(yīng)用接收到特定公共事件時(shí)執(zhí)行業(yè)務(wù)邏輯的目的。

??想了解更多關(guān)于開(kāi)源的內(nèi)容,請(qǐng)?jiān)L問(wèn):??

??51CTO 開(kāi)源基礎(chǔ)軟件社區(qū)??

??https://ost.51cto.com??

OpenHarmony靜態(tài)訂閱應(yīng)用

1、簡(jiǎn)介

本文將介紹如何使用靜態(tài)訂閱公共事件,靜態(tài)訂閱者在未接收訂閱的目標(biāo)事件時(shí),處于未拉起狀態(tài),當(dāng)系統(tǒng)或應(yīng)用發(fā)布了指定的公共事件后,靜態(tài)訂閱者將被拉起,并執(zhí)行onReceiveEvent回調(diào),開(kāi)發(fā)者可通過(guò)在onReceiveEvent回調(diào)中執(zhí)行業(yè)務(wù)邏輯,實(shí)現(xiàn)當(dāng)應(yīng)用接收到特定公共事件時(shí)執(zhí)行業(yè)務(wù)邏輯的目的。例如,某應(yīng)用希望在設(shè)備開(kāi)機(jī)的時(shí)候執(zhí)行一些初始化任務(wù),那么該應(yīng)用可以靜態(tài)訂閱開(kāi)機(jī)事件,在收到開(kāi)機(jī)事件后會(huì)拉起該應(yīng)用,然后執(zhí)行初始化任務(wù)。

2、設(shè)備與環(huán)境

  • 設(shè)備:九聯(lián)s905l3a機(jī)頂盒
  • 系統(tǒng):OpenHarmony 3.2 beta2
  • SDK:API 9(Full SDK)

3、實(shí)現(xiàn)過(guò)程

(1)聲明靜態(tài)訂閱者

打開(kāi) DevEco Studio 創(chuàng)建一個(gè)新的Stage工程,在工程中新建一個(gè)目錄 StaticSubscriber,然后在該目錄下面新建一個(gè)ExtensionAbility的ets文件,并讓該 ExtensionAbility 從 StaticSubscriberExtensionAbility 派生。

OpenHarmony靜態(tài)訂閱應(yīng)用-開(kāi)源基礎(chǔ)軟件社區(qū)

我們可以在 onReceiveEvent(event){ } 中實(shí)現(xiàn)自己的業(yè)務(wù)邏輯,在這里我們實(shí)現(xiàn)通過(guò)訂閱開(kāi)機(jī)公共事件,來(lái)啟動(dòng)定時(shí)器,在日志中打印信息。

import StaticSubscriberExtensionAbility from '@ohos.application.StaticSubscriberExtensionAbility'
import Logger from '../model/Logger'

export default class StaticSubscriber extends StaticSubscriberExtensionAbility {
num:number=0
onReceiveEvent(event) {
Logger.info(`rgytl ---- 監(jiān)聽(tīng)到公共的事件為: ${event.event}`)
setInterval(() => {
this.num = this.num+1
Logger.info("rgytl ---- num = " + this.num)
}, 1000)
}
}

(2)靜態(tài)訂閱者工程配置

在完成靜態(tài)訂閱者的代碼實(shí)現(xiàn)后,需要將該訂閱者配置到系統(tǒng)的module.json5中,配置形式如下:

{
"module": {
......
"extensionAbilities": [
{
"name": "StaticSubscriber",
"srcEntrance": "./ets/StaticSubscriber/StaticSubscriber.ts",
"description": "$string:StaticSubscriber_desc",
"icon": "$media:icon",
"label": "$string:StaticSubscriber_label",
"type": "staticSubscriber",
"visible": true,
"metadata": [
{
"name": "ohos.extension.staticSubscriber",
"resource": "$profile:subscribe"
}
]
}
],
......
}
}

上述json文件主要關(guān)注以下字段:

  • srcEntrance : 表示ExtensionAbility的入口文件路徑,即步驟2中聲明的靜態(tài)訂閱者所在的文件路徑,也就是我們剛剛創(chuàng)建的目錄文件
  • type: 表示ExtensionAbility的類(lèi)型,對(duì)于靜態(tài)訂閱者需要聲明為“staticSubscriber”
  • metadata: 表示ExtensionAbility的二級(jí)配置文件信息。由于不同的ExtensionAbility類(lèi)型其配置信息不盡相同,因此需要使用不同的config文件表示其具體配置信息。
  • name:表示ExtensionAbility的類(lèi)型名稱(chēng),對(duì)于靜態(tài)訂閱類(lèi)型,name必須聲明為“ohos.extension.staticSubscriber”,否則無(wú)法識(shí)別為靜態(tài)訂閱者;
  • resource: 字段表示ExtensionAbility的配置信息路徑,由開(kāi)發(fā)者自行定義,在本例中表示路徑為“resources/base/profile/subscribe.json"。

metadata指向的二級(jí)配置文件的通常形式如下:

{
"commonEvents": [
{
"name": "xxx",
"permission": "xxx",
"events":[
"xxx"
]
}
]
}

需要注意二級(jí)配置文件必須按照此形式進(jìn)行聲明,否則會(huì)無(wú)法正確識(shí)別。下面對(duì)字段進(jìn)行介紹:

  • name: 靜態(tài)訂閱ExtensionAbility的名稱(chēng),需要和module.json5中聲明的ExtensionAbility的name一致。
  • permission:訂閱者要求的發(fā)布者需要具備的權(quán)限,對(duì)于發(fā)布了目標(biāo)事件但不具備permission中聲明的權(quán)限的發(fā)布者將被視為非法事件不予發(fā)布。
  • events: 訂閱的目標(biāo)事件列表。

在這里我監(jiān)聽(tīng)的是開(kāi)機(jī)事件和系統(tǒng)事件流逝時(shí)間:

{
"commonEvents": [
{
"name": "StaticSubscriber",
"permission": "",
"events":[
"usual.event.TIME_TICK",
"usual.event.BOOT_COMPLETED"
]
}
]
}

不知道是不是系統(tǒng)bug,在permission字段添加權(quán)限的時(shí)候,會(huì)導(dǎo)致應(yīng)用無(wú)法成功啟動(dòng),使用就把權(quán)限去掉了。

(3)應(yīng)用安裝

首先,修改OpenHarmony SDK toolchains lib目錄下面的 UnsgnedReleasedProfileTemplate.json 文件的apl字段,將apl字段改成 system_basic 或 system_core。

"bundle-info":{
"developer-id":"OpenHarmony",
"distribution-certificate":"xxxxxxx",
"app-feature":"hos_system_app",
"bundle-name":"com.example.xxxx",
"apl":"system_core"
},

? 然后,進(jìn)入905設(shè)備系統(tǒng),修改905設(shè)備系統(tǒng)配置文件,通過(guò) ??hdc file recv /etc/static_subscriber_config.json D:\?? 命令將系統(tǒng)配置文件存放到電腦中,然后修改 static_subscriber_config.json 文件,在該文件中加入我們這個(gè)應(yīng)用的包名:

{
"xxx",
"ohos.extension.staticSubscriber",
"xxx"
}

最后把修改好的配置文件重新加入到設(shè)備系統(tǒng)中:

hdc shell "mount -o remount,rw /"
hdc file send D:\static_subscriber_config.json /etc/static_subscriber_config.json

然后重新啟動(dòng),應(yīng)用監(jiān)聽(tīng)到開(kāi)機(jī)事件,此時(shí)就可以在日志中看到打印:

OpenHarmony靜態(tài)訂閱應(yīng)用-開(kāi)源基礎(chǔ)軟件社區(qū)

4、參考文檔

??靜態(tài)訂閱公共事件??

??應(yīng)用配置文件??

文章相關(guān)附件可以點(diǎn)擊下面的原文鏈接前往下載

 https://ost.51cto.com/resource/2701。

??想了解更多關(guān)于開(kāi)源的內(nèi)容,請(qǐng)?jiān)L問(wèn):??

??51CTO 開(kāi)源基礎(chǔ)軟件社區(qū)??

??https://ost.51cto.com??

責(zé)任編輯:jianghua 來(lái)源: 51CTO 開(kāi)源基礎(chǔ)軟件社區(qū)
相關(guān)推薦

2022-03-02 16:08:31

Harmony應(yīng)用開(kāi)發(fā)鴻蒙

2023-03-01 14:55:09

2022-09-21 14:58:11

OH應(yīng)用簽名鴻蒙

2022-11-04 14:58:59

應(yīng)用開(kāi)發(fā)鴻蒙

2022-04-29 14:56:40

通話(huà)應(yīng)用源碼剖析

2022-06-02 14:27:05

UI框架JS

2023-05-23 14:53:26

鴻蒙應(yīng)用開(kāi)發(fā)

2022-10-08 16:19:40

智能喂食器鴻蒙

2024-03-04 14:59:51

鴻蒙CPU信息C++

2023-08-17 15:04:22

2022-10-08 16:26:23

APP應(yīng)用開(kāi)發(fā)

2022-03-14 15:11:01

harmony鴻蒙操作系統(tǒng)

2022-11-02 15:49:45

應(yīng)用開(kāi)發(fā)鴻蒙

2022-03-14 15:26:59

Hi3516Ark子系統(tǒng)鴻蒙

2022-02-15 14:06:36

OpenHarmon操作系統(tǒng)鴻蒙

2023-03-09 15:10:49

應(yīng)用開(kāi)發(fā)鴻蒙

2022-11-11 09:37:58

數(shù)據(jù)轉(zhuǎn)碼應(yīng)用開(kāi)發(fā)

2024-01-11 15:54:55

eTS語(yǔ)言TypeScript應(yīng)用開(kāi)發(fā)

2023-02-22 15:11:51

鴻蒙應(yīng)用簽名

2022-11-07 15:40:22

數(shù)據(jù)轉(zhuǎn)碼應(yīng)用應(yīng)用開(kāi)發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 日韩欧美在线免费 | 日韩精品在线观看一区二区三区 | 日韩精品视频在线观看一区二区三区 | 人成久久| 在线看亚洲| 国产精品久久久久久久久久久久久 | 91精品久久久久久久久中文字幕 | 久热精品在线 | 神马九九 | 精久久| 中文字幕亚洲视频 | 久色| 福利成人 | 亚洲精品免费视频 | 亚洲高清在线 | 久久夜色精品国产 | 九九综合九九 | 激情91 | 亚洲人成人一区二区在线观看 | 精国产品一区二区三区四季综 | 亚洲精品久久久蜜桃 | 亚洲综合一区二区三区 | 97日日碰人人模人人澡分享吧 | 欧美一级黑人aaaaaaa做受 | 久久久青草婷婷精品综合日韩 | 欧美色综合一区二区三区 | 一道本不卡视频 | 一区二区三区在线免费观看 | 日日草天天干 | 久久夜色精品国产 | 一级黄a视频 | 欧美性吧| 亚洲 欧美 日韩 在线 | 久久久片 | 久久一区精品 | 成人网av | 国产免费视频在线 | 久久精品国产一区老色匹 | 国产91丝袜在线熟 | 午夜视频在线 | 9191在线播放|