精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

HarmonyOS3.0嘗鮮之關鍵Js Api--ServiceAbility開發

系統 OpenHarmony
本篇文章先主要來個Js版本的ServiceAbility開發入門吧。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

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

HarmonyOS3.0發布之后,大家可以從api8上可以看到一個關鍵動作,就是完全拋棄了java,并且不提供對api8以下版本的兼容,完全顛覆性變化,顯然不可能再去兼容低版本了。那么做過api7之前開發的朋友都會知道,在之前的js或者ets開發中,有幾個關鍵地方是離不開java的,比如我前面一篇博客中寫道的動態權限申請,本篇將來介紹另一個關鍵技術ServiceAbility,之前的ServiceAbility是完全基于Java開發,可以說和Android里面的開發模式一樣。

下面就來上手嘗試下ServiceAbility純粹js或者ets開發吧,這里稍微吐槽下官方文檔的不足吧,我已經反饋官方整改文檔了。文檔上的一些小錯誤和不足導致我打通Service的所有核心技能足足耗費了十多個小時,其中最難的莫過于Service主動給FA推送數據了,做過Android的可能都知道在Android里面這個是基于java的回調機制來實現,而這里官方文檔是沒有說這個核心技能是如何實現的,js的回調機制和java的回調機制還是有非常大區別的,我開始專在回調里面出不來導致耗費了很久時間,最后又嘗試了N中方案終于最后找到了最優解搞定了這個核心功能。

本篇文章先主要來個Js版本的ServiceAbility開發入門吧。

場景介紹

基于Service模板的Ability(以下簡稱“Service”)主要用于后臺運行任務(如執行音樂播放、文件下載等),但不提供用戶交互界面。Service可由其他應用或Ability啟動,即使用戶切換到其他應用,Service仍將在后臺繼續運行。

接口說明

表1 Service中相關生命周期功能介紹。

HarmonyOS3.0嘗鮮之關鍵Js Api--ServiceAbility開發-開源基礎軟件社區

開發步驟

本篇先只實現最基本的創建、啟動和停止Service。

創建工程

首先使用最新版的DevEco Studio(992版本)開發工具創建一個工程,選擇最新的api8,如下圖:

HarmonyOS3.0嘗鮮之關鍵Js Api--ServiceAbility開發-開源基礎軟件社區

HarmonyOS3.0嘗鮮之關鍵Js Api--ServiceAbility開發-開源基礎軟件社區

創建工程時,需要關注的就是上圖中所描述的bundleName和package,因為后面核心api中要使用到這兩個參數,對于這兩個參數含義不清楚的可以查閱我另外一篇博客《??App與Hap、Entry與feature,bundleName與packge,務必弄明白??》。

創建Service

工程創建完成之后,鼠標選擇js目錄,然后點擊鼠標右鍵,如下圖依次選擇來創建Service。

HarmonyOS3.0嘗鮮之關鍵Js Api--ServiceAbility開發-開源基礎軟件社區

HarmonyOS3.0嘗鮮之關鍵Js Api--ServiceAbility開發-開源基礎軟件社區

Service也是一種Ability,Ability為Service提供了以下生命周期方法,開發者可以重寫這些方法,來添加其他Ability請求與Service Ability交互時的處理方法。

創建Service的代碼示例如下:

export default {
onStart(want) {
console.info('ServiceAbility onStart');
},
onStop() {
console.info('ServiceAbility onStop');
},
onConnect(want) {
console.info('ServiceAbility onConnect');
return {};
},
onReconnect(want) {
console.info('ServiceAbility onReconnect');
},
onDisconnect() {
console.info('ServiceAbility onDisconnect');
},
onCommand(want, restart, startId) {
console.info('ServiceAbility onCommand');
}
};

本篇將只講解啟動和停止服務,等會寫完啟動和停止服務的觸發代碼之后,我們再來看看會有哪些生命周期函數會被回調。

由于Service也是Ability,創建完成Service之后,它也會自動的在應用配置文件config.json中生成相關核心配置信息,其中有個核心配置就是type為“service”,具體如下所示:

{
"module": {
"abilities": [
{
"name": ".ServiceAbility",
"type": "service",
"visible": true
...
}
]
...
}
...
}

啟動Service

做個極其簡單的頁面,只放置兩個文本按鈕,分別用來觸發“啟動Service”和“停止Service”,如下圖:

HarmonyOS3.0嘗鮮之關鍵Js Api--ServiceAbility開發-開源基礎軟件社區

Ability為開發者提供了startAbility()方法來啟動另外一個Ability。因為Service也是Ability的一種,開發者同樣可以通過將Want傳遞給該方法來啟動Service。

開發者可以通過構造包含bundleName與abilityName的Want對象來設置目標Service信息。參數的含義如下:

  • bundleName:表示應用唯一標識符名稱,即config.json中的bundleName。
  • abilityName:表示待啟動的Ability名稱,這里使用完整Ability名稱,即package+‘.’+Ability名稱。?

啟動本地設備Service的代碼示例如下:

首先要導入系統庫。

import featureAbility from @ohos.ability.featureAbility’;

然后業務邏輯代碼如下:

//啟動service按鈕綁定的點擊事件
onClickStartService(){
let promise = featureAbility.startAbility(
{
want:
{
bundleName: "com.xdw.jsdemo",
abilityName: "com.example.entry.ServiceAbility",
},
}
);
}

執行上述代碼后,Ability將通過startAbility() 方法來啟動Service。

  • ? 如果Service尚未運行,則系統會先調用onStart()來初始化Service,再回調Service的onCommand()方法來啟動Service。
  • 如?果Service正在運行,則系統會直接回調Service的onCommand()方法來啟動Service。?

不支持預覽器進行測試,下面啟動模擬器或者真機(必須api》=8)進行測試,多次點擊“啟動Service”按鈕觀察日志輸出,日志輸出如下圖:

HarmonyOS3.0嘗鮮之關鍵Js Api--ServiceAbility開發-開源基礎軟件社區

停止Service

Service一旦創建就會一直保持在后臺運行,除非必須回收內存資源,否則系統不會停止或銷毀Service。開發者可以在Service中通過featureAbility.terminateSelf()停止本Service。

這里需要注意的是官方sdk目前并沒有提供在其他Ability中主動停止Service的api,因此現在想簡簡單單的在UI中點擊“停止service”按鈕直接調用一個api停止service是做不到的,但并不是代表就不能通過點擊按鈕來停止服務,關于這個的實現下篇再講。這里只講通過在當前Service中通過featureAbility.terminateSelf()停止本Service。由于不是主動通過UI操作的,什么時候去停止服務需要個觸發時機,最簡單的就是在Service中添加一個定時器來做demo演示了。代碼如下:

onStart(want) {
console.info('ServiceAbility onStart');
//5秒之后停止Service
setTimeout(()=>{
console.info('delay 5秒');
featureAbility.terminateSelf();
},5000)
},

但是這里嘗試,發現嘗試了好多次之后發現目前在Service中不支持setTimout定時器的運行,還不知道是有意這么設計的還是缺陷bug,已經反饋給華為官方進行跟進。那么只能換一種最low的方式來演示了,代碼如下:

onCommand(want, restart, startId) {
console.info('ServiceAbility onCommand');
featureAbility.terminateSelf();
}

最后運行日志截圖如下:

HarmonyOS3.0嘗鮮之關鍵Js Api--ServiceAbility開發-開源基礎軟件社區

小結

在官方文檔基礎上,把操作步驟和一些關鍵解釋描述的更加詳細,更加方便小白入手,防止入坑。

本篇只是入門級開胃小菜,我最終用這個Service的目的是為了在我智能家居的項目中,手機端通過該AbilityService實時接收服務端推送過來的數據,然后Service中接收到服務端推送過來的數據之后可以主動更新UI對應的Ability中的數據,即需要打通Service主動向Activity中傳遞數據這個關鍵技術點。詳細打通流程會在下篇文章中講解,這個是目前官網上面沒有的內容。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

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

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2021-07-08 09:42:04

鴻蒙HarmonyOS應用

2022-05-20 10:56:54

AbilityeTS FA調用

2022-02-28 15:28:17

CSSHarmonyOSJS

2021-09-18 09:57:20

鴻蒙HarmonyOS應用

2022-05-06 15:38:21

鴻蒙App開發技術

2022-06-06 11:06:04

遠程服務鴻蒙

2021-03-09 22:29:46

Vue 響應式API

2022-05-19 15:33:42

JS通信接口鴻蒙

2009-07-08 10:02:41

Servlet 3.0

2021-01-05 10:26:50

鴻蒙Javafinal

2016-11-01 19:10:33

vue.js前端前端框架

2010-05-22 16:57:09

BlackBerry開

2021-03-25 15:54:14

鴻蒙HarmonyOS應用開發

2020-11-11 11:56:05

HarmonyOS

2021-07-21 15:19:25

鴻蒙HarmonyOS應用

2022-12-07 17:33:44

SpringBootAQS釋放鎖

2012-03-26 10:47:20

Visual Stud微軟開發

2024-07-05 11:13:05

2022-12-22 19:22:55

應用開發鴻蒙

2013-04-17 10:06:55

Google GlasMirror API
點贊
收藏

51CTO技術棧公眾號

精品久久久久久亚洲精品| 精品一区二区国语对白| 精品视频www| 大香煮伊手机一区| 日本不卡在线| 国产a视频精品免费观看| 久久男人av资源网站| 中文字幕在线观看的网站| 91精品影视| 亚洲日穴在线视频| 99九九视频| av大全在线观看| 欧美伦理影院| 日韩免费观看高清完整版| www国产黄色| 国产黄色小视频在线| a在线欧美一区| 国产美女精彩久久| 国产精品成人国产乱| 成人动漫免费在线观看| 欧美mv日韩mv亚洲| 色噜噜狠狠永久免费| 阿v视频在线观看| 国产精品久久久久久久久果冻传媒 | 91精品国产一区二区三区蜜臀| 大胆欧美熟妇xx| 成人免费在线电影| 99久久精品国产观看| 95av在线视频| 影音先锋国产资源| 国产视频久久| 欧美激情视频网站| 日本 欧美 国产| 欧美有码在线| 欧美成人精品福利| 天堂在线中文在线| yw.尤物在线精品视频| 五月综合激情网| 国产树林野战在线播放| 国产小视频福利在线| 91在线观看污| 国产一区二区三区色淫影院 | 精品动漫一区二区三区在线观看| 天堂一区在线观看| 欧美123区| 一本久道久久综合中文字幕 | 欧美一区二区三区电影在线观看| 亚洲成人一级片| 国产美女精品在线| 国产精品亚洲精品| 国产91av在线播放| 日韩制服丝袜av| 国产国语videosex另类| 五月天婷婷导航| 香蕉精品999视频一区二区| 国色天香2019中文字幕在线观看| 精品无码一区二区三区电影桃花| 欧美三级乱码| 久久伊人色综合| 日本黄色小说视频| 国产综合精品一区| 欧美激情第三页| 国产极品在线播放| 一本色道久久综合| 欧美一级大片在线观看| 国产又大又黄视频| 久久尤物视频| 国产精品久久久久久久av大片| 久久久久亚洲视频| 美腿丝袜亚洲三区| 国产在线精品一区免费香蕉| 国产精品一级视频| 国产.欧美.日韩| 超碰97网站| 深夜福利在线观看直播| 久久精品人人做| 亚洲一区二区三区四区中文| h片在线观看网站| 亚洲午夜精品17c| 一女被多男玩喷潮视频| 国产一区二区三区朝在线观看| 欧美性色aⅴ视频一区日韩精品| 性欧美videossex精品| 国产精品日本一区二区不卡视频 | 成人网在线观看| 亚洲免费成人网| 91小视频免费看| 亚洲精品一区二区三| 高h视频在线观看| 精品久久久久久久大神国产| 99免费视频观看| 亚洲伊人伊成久久人综合网| 亚洲成人精品视频在线观看| 亚洲a v网站| 欧美日韩国产一区精品一区| 2018中文字幕一区二区三区| 一区二区视频网| 国产成人aaa| 欧美日韩在线精品| 亚洲电影视频在线| 岛国视频午夜一区免费在线观看| 一区二区在线免费看| 51亚洲精品| 亚洲色图美腿丝袜| 日本青青草视频| 免费久久99精品国产自在现线| 国产精品久久久久久一区二区 | 精品国产精品网麻豆系列| 亚洲欧美日本一区| 成人在线免费小视频| 九九久久久久久久久激情| 日韩精品成人免费观看视频| 国产一区二区三区免费观看| 欧美国产综合视频| 亚洲资源一区| 欧美伊人久久久久久午夜久久久久| 四虎国产精品永久免费观看视频| 奇米狠狠一区二区三区| 欧美大片网站在线观看| 波多野结衣电影在线播放| 国产成人精品免费一区二区| 日韩av一区二区三区在线| 新版中文在线官网| 欧美色图12p| 中文成人无字幕乱码精品区| 美脚丝袜一区二区三区在线观看| а天堂中文在线官网| 在线观看成人免费视频| 男女一区二区三区| 欧美在线观看天堂一区二区三区| 国产精品高精视频免费| 蜜臀久久精品久久久久| 亚洲欧洲日产国码二区| 日本在线观看a| 国产精品天天看天天狠| 欧美裸体xxxx极品少妇| 欧美综合在线观看视频| 亚洲av无码久久精品色欲| 国产精品tv| 久热国产精品视频| 好吊操这里只有精品| 国产精品一区二区在线观看网站| 在线成人性视频| 99riav视频一区二区| 精品捆绑美女sm三区| 强制高潮抽搐sm调教高h| 美女视频黄免费的久久| 亚洲精品自在在线观看| 美女写真久久影院| 亚洲人成自拍网站| 天天干天天色综合| 久久嫩草精品久久久精品一| 欧美视频免费播放| 奇米亚洲欧美| 国产精品久久视频| 亚洲精品传媒| 欧美一区二区视频在线观看 | 六月婷婷综合网| 亚洲一区在线电影| 一区二区三区人妻| 欧美日本亚洲韩国国产| 97超碰人人看人人| 色综合999| 欧美www视频| 国产精品成人免费一区二区视频| av一区二区三区四区| 加勒比成人在线| 色哟哟精品丝袜一区二区| 97久久伊人激情网| 午夜性色福利视频| 色哟哟精品一区| 九九热久久免费视频| 精品综合久久久久久8888| 乱子伦一区二区| 日韩在线成人| 18久久久久久| 在线观看黄色av| 欧美一区二区精品在线| 久久久一区二区三区四区| 成人av网在线| 欧美三级午夜理伦三级| 999久久久91| 国产精品xxxx| 韩国成人动漫| 久久久电影免费观看完整版| 亚洲黄色小说网址| 色综合色综合色综合色综合色综合 | 视频在线亚洲| 欧美亚洲日本黄色| 欧洲不卡视频| 亚洲国产日韩欧美在线动漫| 精人妻无码一区二区三区| 国产精品美女久久久久久久网站| 日本高清免费观看| 校园激情久久| 欧美日韩一区二区三区电影| 亚洲理论电影| 亚洲自拍偷拍福利| 国产免费不卡| 欧美精品videos另类日本| 国产黄色在线| 精品国产乱码久久久久久老虎 | 日韩视频免费观看高清在线视频| 日本三级一区二区| 国产精品国产成人国产三级| xxxx黄色片| 韩国理伦片一区二区三区在线播放 | 午夜视频在线免费观看| 亚洲成人网在线| 一级做a爱片性色毛片| 岛国av一区二区| 激情五月婷婷小说| 成人欧美一区二区三区白人| xxxx黄色片| 岛国一区二区在线观看| 奇米影视四色在线| 欧美在线综合| 国产www免费| 久久高清免费| 欧美成人一区二区在线| 日韩视频在线直播| 成人av在线网址| 午夜精品成人av| 97久久久免费福利网址| 污污视频在线| 久久综合久久八八| 2017亚洲天堂1024| 亚洲天天在线日亚洲洲精| 亚洲精品国产精| 欧美一区二区三区在线| 一级成人免费视频| 欧美亚洲综合另类| 精品国产xxx| 欧美日韩精品二区| 精品无码免费视频| 亚洲资源在线观看| 欧美又粗又大又长| 亚洲色图在线看| 日韩激情小视频| 国产精品毛片无遮挡高清| 在线不卡av电影| 91麻豆成人久久精品二区三区| 中国极品少妇videossexhd| 岛国av在线一区| 在线观看一区二区三区四区| 国产精品一区二区果冻传媒| 国产5g成人5g天天爽| 国内精品视频666| 日本美女视频一区| 久久99精品网久久| 久久艹这里只有精品| 国产久卡久卡久卡久卡视频精品| 色婷婷激情视频| 国产精品99久久久久久有的能看| 中文字幕第22页| 国产精品66部| 美女黄色一级视频| 91首页免费视频| 丰腴饱满的极品熟妇| 日本一区二区综合亚洲| 亚洲 欧美 国产 另类| 亚洲天堂久久久久久久| 爱爱视频免费在线观看| 一区二区高清免费观看影视大全| 欧美激情一区二区视频| 亚洲va欧美va人人爽午夜| 国产一级片毛片| 欧日韩精品视频| 国产又黄又大又爽| 精品国产一区二区三区不卡| 日韩在线观看视频网站| 日韩理论片久久| 又爽又大又黄a级毛片在线视频| 日韩视频免费在线观看| 少妇av在线| 日韩av电影手机在线| 亚洲青青久久| 国产伦精品一区二区三区四区免费 | 精品亚洲porn| 国偷自产av一区二区三区麻豆| 99久久免费视频.com| 人人妻人人澡人人爽| 亚洲欧美另类久久久精品2019| 国产一二三四在线| 色综合久久久久网| 一级aaaa毛片| 欧美精品一区二区三区四区 | 国产一区二区三区不卡av| 免费一区二区三区| 欧美激情电影| 欧美黑人经典片免费观看| 蜜臀av性久久久久蜜臀aⅴ| 亚洲午夜久久久久久久久| 国产色产综合色产在线视频| 色婷婷在线视频观看| 日韩欧美在线播放| av网站在线观看免费| 亚洲欧美精品中文字幕在线| www免费在线观看| 日本欧美爱爱爱| 日韩一区二区三区色| 亚洲三级一区| 国产欧美日韩综合一区在线播放| 午夜精品中文字幕| 91视频xxxx| 欧美成人手机视频| 欧美日韩精品一区二区在线播放| 手机av在线免费观看| 久久视频在线免费观看| 伊伊综合在线| 国产精品视频一区二区三区经| 色999日韩| 欧美激情国产精品日韩| 成人综合激情网| 神马午夜精品91| 在线观看91精品国产入口| 天堂在线资源8| 欧美精品在线网站| 九九久久国产| 日本精品一区| 99国产一区| 亚洲美女精品视频| 1000部国产精品成人观看| 无码人妻丰满熟妇精品| 亚洲电影天堂av | 亚洲一线二线三线久久久| 一级久久久久久| 日韩精品极品视频免费观看| 大香伊人久久| 97免费高清电视剧观看| 我不卡手机影院| 中文字幕 91| 日本一区二区免费在线观看视频| 免费污污视频在线观看| 日韩av在线导航| 51精品视频| 国产一区二区不卡视频| 极品日韩av| 大尺度在线观看| 亚洲高清一区二区三区| 精品人妻一区二区三区换脸明星| 久久久av一区| 免费一级欧美片在线观看网站| 日韩视频在线观看视频| 精品一区二区三区av| a一级免费视频| 91精品国产全国免费观看| 成人黄色在线电影| 91在线观看免费高清| 亚洲欧洲日韩| 黑人巨大猛交丰满少妇| 亚洲影视在线播放| 黄色片一区二区| 97超级碰碰人国产在线观看| 久久综合社区| 日本一极黄色片| 中文字幕av一区二区三区免费看 | 亚洲国产99精品国自产| www.综合网.com| 久久久影院一区二区三区| 亚洲永久网站| 性欧美精品男男| 欧美剧情片在线观看| www.久久久久.com| 国产精品区一区| 久久成人精品| 91成人精品一区二区| 91精品国产综合久久久久| 人人澡人人添人人爽一区二区| 狠狠色综合欧美激情| 久久久久久夜| 久久国产精品国语对白| 欧美变态凌虐bdsm| av电影一区| 亚洲精品第一区二区三区| 国产一区二区中文字幕| 天天操天天射天天爽| 亚洲人午夜色婷婷| 99久久久国产| 秋霞无码一区二区| 日本一区二区三区dvd视频在线 | 国产精品一区二区久激情瑜伽| 日本a在线观看| 在线看片第一页欧美| 老司机亚洲精品一区二区| 青青艹视频在线| 国产精品无人区| 蜜桃av噜噜一区二区三区麻豆 | 91青青草视频| 欧美精品在线免费观看| 蜜桃精品wwwmitaows| 中文字幕线观看| 第一福利永久视频精品| 黄网站在线免费看| 激情小说综合网| 九色porny丨国产精品| 国产成人在线观看网站| 中文字幕亚洲综合| 欧美日韩精品一区二区三区在线观看| 色综合天天色综合|