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

HarmonyOS Sample 之 ServiceAbility 跨設備接口調用

系統 OpenHarmony
本示例演示了Service Ability的啟動、停止、連接、斷開連接等操作,支持對跨設備的Service Ability進行操作。

[[409955]]

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com

ServiceAbility 跨設備接口調用

介紹

本示例演示了Service Ability的啟動、停止、連接、斷開連接等操作,支持對跨設備的Service Ability進行操作。

你將學會以下三個知識點:

1.IDL的使用,以及IPC方法的調用

2.前臺Service的使用方法

3.EventHandle事件處理的使用方法

搭建環境

安裝DevEco Studio,詳情請參考DevEco Studio下載。

設置DevEco Studio開發環境,DevEco Studio開發環境需要依賴于網絡環境,需要連接上網絡才能確保工具的正常使用,可以根據如下兩種情況來配置開發環境:

  • 如果可以直接訪問Internet,只需進行下載HarmonyOS SDK操作。
  • 如果網絡不能直接訪問Internet,需要通過代理服務器才可以訪問,請參考配置開發環境。

代碼結構解讀

后臺邏輯

  1. │  config.json #全局配置文件 
  2. │ 
  3. ├─idl 
  4. │  └─ohos 
  5. │      └─samples 
  6. │          └─serviceability 
  7. │                  IRemoteAgent.idl #提供遠程接口idl文件 
  8. │ 
  9. ├─java 
  10. │  └─ohos 
  11. │      └─samples 
  12. │          └─serviceability 
  13. │              │  ForegroundServiceAbility.java #前臺Service Ability 
  14. │              │  LocalServiceAbility.java #模擬本地的Service Ability 
  15. │              │  MainAbility.java   
  16. │              │  RemoteAbility.java    #模擬遠端的Service Ability 
  17. │              │ 
  18. │              └─slice 
  19. │                      MainAbilitySlice.java #主能力頁 

 頁面布局文件只有一個 main_slice.xml

頁面布局

三個知識點

1.IDL的使用,以及IPC方法的調用

術語:

當客戶端和服務器通信時,需要定義雙方都認可的接口,以保障雙方可以成功通信,HarmonyOS IDL(HarmonyOS Interface Definition Language)則是一種定義此類接口的工具。

跨進程調用(IPC)inter-process communication 或 跨設備調用(RPC)remote procedure call

IDL接口使用規范:

https://developer.harmonyos.com/cn/docs/documentation/doc-references/idl-overview-0000001050762835

先聲明權限,同時敏感權限還需要請求用戶授權,前幾篇都有寫過這里就不寫了。

  1. "reqPermissions": [ 
  2.     { 
  3.       "name""ohos.permission.GET_DISTRIBUTED_DEVICE_INFO" 
  4.     }, 
  5.     ... 
  6.     { 
  7.       "name""ohos.permission.DISTRIBUTED_DATASYNC" 
  8.     } 
  9.   ] 

 a.創建.idl文件

HarmonyOS Sample 之 ServiceAbility 跨設備接口調用-鴻蒙HarmonyOS技術社區

IRemoteAgent.idl

  1. // Declare any non-default types here with sequenceable or interface statements 
  2.  
  3. interface ohos.samples.serviceability.IRemoteAgent { 
  4.     /* 
  5.      * Demo service method use some parameters 
  6.      */ 
  7.     void setRemoteObject([in] String param); 

 b.編譯idl文件,生成對應的接口類、樁類和代理類

HarmonyOS Sample 之 ServiceAbility 跨設備接口調用-鴻蒙HarmonyOS技術社區
HarmonyOS Sample 之 ServiceAbility 跨設備接口調用-鴻蒙HarmonyOS技術社區

c.服務端IDL的實現

  1. private static final String DESCRIPTOR = "ohos.samples.serviceability.RemoteAbility"
  2.  
  3. //idl的服務端實現, 
  4. RemoteAgentStub remoteAgentStub = new RemoteAgentStub(DESCRIPTOR) { 
  5.     @Override 
  6.     public void setRemoteObject(String param) { 
  7.         HiLog.info(LABEL_LOG, "%{public}s""setRemoteObject:"+param); 
  8.         //不能這樣,要用下面通知的方式 
  9.         //showTips(RemoteAbility.this, param); 
  10.         //賦值 
  11.         param_mess=param; 
  12.         //事件通知 
  13.         eventHandler.sendEvent(EVENT_ABILITY_MESS); 
  14.  
  15.     } 
  16.  
  17. }; 

 d.客戶端調用IPC方法 

  1. //IDL代理類 
  2. private  RemoteAgentProxy remoteAgentProxy; 
  3.  
  4. /** 
  5.  * 連接 Service 
  6.  * @param isConnectRemote 
  7.  */ 
  8. private void connectService(boolean isConnectRemote) { 
  9.     //三元表達式,判斷連接本地還是遠端Service 
  10.     Intent intent = isConnectRemote 
  11.             ? getRemoteServiceIntent(REMOTE_BUNDLE, REMOTE_SERVICE) 
  12.             : getLocalServiceIntent(LOCAL_BUNDLE, NORMAL_SERVICE); 
  13.  
  14.  
  15.     //連接 Service 
  16.     boolean isConnect=connectAbility(intent,connection); 
  17.     if (isConnect && remoteAgentProxy!=null) { 
  18.         try { 
  19.             //調用服務端IPC方法 
  20.             remoteAgentProxy.setRemoteObject("This param from client"); 
  21.         } catch (RemoteException e) { 
  22.             HiLog.error(LABEL_LOG, "%{public}s""onAbilityConnectDone RemoteException"); 
  23.         } 
  24.     } 
  25.  
  26.  
  27. //建立連接,實例化代理對象 
  28. private IAbilityConnection connection = new IAbilityConnection() { 
  29.     @Override 
  30.     public void onAbilityConnectDone(ElementName elementName, IRemoteObject iRemoteObject, int resultCode) { 
  31.         //發個通知,Service 連接成功了 
  32.         eventHandler.sendEvent(EVENT_ABILITY_CONNECT_DONE); 
  33.         //實例化代理對象 
  34.         remoteAgentProxy = new RemoteAgentProxy(iRemoteObject); 
  35.     } 
  36.  
  37.     @Override 
  38.     public void onAbilityDisconnectDone(ElementName elementName, int resultCode) { 
  39.         //發個通知,Service 斷開連接了,主動斷開不會執行,關閉服務端會執行 
  40.         eventHandler.sendEvent(EVENT_ABILITY_DISCONNECT_DONE); 
  41.     } 
  42. }; 

 2.前臺Service的使用方法

a.權限聲明:

  1. "reqPermissions": [ 
  2.       { 
  3.         "name""ohos.permission.KEEP_BACKGROUND_RUNNING" 
  4.       }, 
  5.       ... 
  6.     ] 

b.設置通知欄內容,然后,

  • 在onStart方法調用keepBackgroundRunning方法在后臺保留此服務能力并顯示通知欄。
  • 在onStop方法調用cancelBackgroundRunning()方法取消此功能的后臺運行以釋放系統內存。
  1. //通知ID 
  2. private static final int NOTIFICATION_ID = 0XD0000002; 
  3.  
  4. @Override 
  5. protected void onStart(Intent intent) { 
  6.     //調用方法 
  7.     startForeground(); 
  8.     super.onStart(intent); 
  9.  
  10. @Override 
  11. protected void onStop() { 
  12.     super.onStop(); 
  13.     //取消此功能的后臺運行以釋放系統內存。 
  14.     cancelBackgroundRunning(); 
  15.  
  16.  
  17. /** 
  18.  * 在后臺保留此服務能力并顯示通知欄。 
  19.  */ 
  20. private void startForeground() { 
  21.     HiLog.info(LABEL_LOG, "startForeground"); 
  22.  
  23.     //任務欄顯示通知 
  24.     NotificationRequest request = new NotificationRequest(NOTIFICATION_ID).setTapDismissed(true); 
  25.     // 
  26.     NotificationRequest.NotificationNormalContent content = new NotificationRequest.NotificationNormalContent(); 
  27.  
  28.     content.setTitle("SD card存儲卡已意外移除").setText("請先卸載存儲卡,再將其移除,以防數據丟失"); 
  29.     content.setAdditionalText("21分鐘前"); 
  30.     //設置通知欄內容 
  31.     NotificationRequest.NotificationContent notificationContent = new NotificationRequest.NotificationContent(content); 
  32.     request.setContent(notificationContent); 
  33.  
  34.     //在后臺保留此服務能力并顯示通知欄。 
  35.     keepBackgroundRunning(NOTIFICATION_ID, request); 
  36.  

3.EventHandle事件處理的使用方法

EventHandler 將事件或 Runnable 任務傳遞到線程的事件隊列,并在事件或任務從事件隊列中出來時執行。

您可以使用 EventHandler 在不同線程之間調度和處理事件和 Runnable 對象,并在一定的時間間隔內安排要處理的事件或 Runnable 對象。您可以使用此類中提供的方法發送同步或異步事件、延遲事件處理以及設置事件優先級。

  1. //定義事件ID 
  2. private static final int EVENT_ABILITY_CONNECT_DONE = 0x1000001; 
  3. private static final int EVENT_ABILITY_DISCONNECT_DONE = 0x1000002; 
  4.  
  5.  
  6. private EventHandler eventHandler = new EventHandler(EventRunner.current()) { 
  7.         @Override 
  8.         protected void processEvent(InnerEvent event) { 
  9.             switch (event.eventId) { 
  10.                 case EVENT_ABILITY_CONNECT_DONE: 
  11.                     showTips(MainAbilitySlice.this, "Service connect succeeded"); 
  12.                     break; 
  13.                 case EVENT_ABILITY_DISCONNECT_DONE: 
  14.                     showTips(MainAbilitySlice.this, "Service disconnect succeeded"); 
  15.                     break; 
  16.                 default
  17.                     break; 
  18.             } 
  19.         } 
  20.     }; 
  21.  
  22.  
  23. //發個通知,Service 連接成功了 
  24. eventHandler.sendEvent(EVENT_ABILITY_CONNECT_DONE); 

效果展示

前臺ServiceIPC/RPC調用

文章相關附件可以點擊下面的原文鏈接前往下載

原文鏈接:https://harmonyos.51cto.com/posts/4776

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com

 

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

2021-08-17 10:20:14

鴻蒙HarmonyOS應用

2022-05-20 10:56:54

AbilityeTS FA調用

2020-11-05 10:05:25

App

2021-09-15 14:55:49

鴻蒙HarmonyOS應用

2021-09-17 14:43:54

鴻蒙HarmonyOS應用

2021-09-24 09:25:01

鴻蒙HarmonyOS應用

2021-11-23 09:58:35

鴻蒙HarmonyOS應用

2022-05-19 15:33:42

JS通信接口鴻蒙

2022-08-05 19:22:27

Service模板鴻蒙

2021-11-02 10:10:49

鴻蒙HarmonyOS應用

2021-09-22 09:42:41

鴻蒙HarmonyOS應用

2021-07-29 14:03:35

鴻蒙HarmonyOS應用

2022-06-06 11:06:04

遠程服務鴻蒙

2021-06-16 15:18:03

鴻蒙HarmonyOS應用

2021-01-06 10:59:14

鴻蒙HarmonyOSPage Abilit

2021-12-10 15:06:56

鴻蒙HarmonyOS應用

2021-11-30 14:51:11

鴻蒙HarmonyOS應用

2021-12-02 10:11:44

鴻蒙HarmonyOS應用

2021-06-23 15:48:08

鴻蒙HarmonyOS應用

2021-11-03 09:51:45

鴻蒙HarmonyOS應用
點贊
收藏

51CTO技術棧公眾號

欧美xxxxx牲另类人与| 国产精品久久久久7777按摩| 茄子视频成人在线| 天美传媒免费在线观看| 日韩一区二区三区高清在线观看| 亚洲成人激情综合网| 欧美精品亚洲精品| 99精品在线视频观看| 一区二区激情| 久久色在线播放| 好吊日免费视频| 亚洲成a人片777777久久| 亚洲成av人综合在线观看| 日韩国产高清一区| 色窝窝无码一区二区三区成人网站| 日韩国产在线观看| 久久全国免费视频| 四虎影院中文字幕| 天堂成人娱乐在线视频免费播放网站| 欧美精品777| 国产一区二区三区精彩视频 | 青青青免费在线| 暖暖日本在线观看| 91毛片在线观看| 91精品国产99久久久久久红楼 | 成年人午夜剧场| 欧美理论视频| 国产偷亚洲偷欧美偷精品| 超碰人人cao| 99精品女人在线观看免费视频| 一本一本久久a久久精品综合麻豆| 午夜久久久久久久久久久| 国产在线视频资源| 91美女福利视频| 国产伦精品一区二区三区照片| 97人妻精品一区二区三区动漫| 丝瓜av网站精品一区二区| 久久久久一本一区二区青青蜜月 | 中文字幕一区二区三三| 国产亚洲欧美另类中文| 中文字幕被公侵犯的漂亮人妻| 国产精品白丝一区二区三区| 日韩精品一区二区三区老鸭窝 | 亚洲成人1区| 欧美日韩亚洲综合| 91制片厂毛片| 成人国产在线| 欧美三级资源在线| 丁香婷婷激情网| 午夜精品成人av| 色婷婷精品大在线视频| 丰满少妇被猛烈进入高清播放| 91jq激情在线观看| 午夜精品久久久久影视| 国产成人一区二区三区别| 1区2区3区在线视频| 亚洲精品写真福利| 麻豆传媒网站在线观看| 在线āv视频| 亚洲一区二区综合| 成人免费在线网| 多野结衣av一区| 精品久久久久久亚洲国产300| 僵尸世界大战2 在线播放| 不卡的av影片| 精品动漫一区二区三区| 久久综合色视频| 欧美天堂视频| 欧美日本高清视频在线观看| www.成年人| 亚洲国产精品免费视频| 亚洲高清久久网| 国产精品jizz| 精品盗摄女厕tp美女嘘嘘| xxxxx91麻豆| 国产亚洲精品久久777777| 在线精品一区| 国产精品国产三级国产专播精品人 | 93在线视频精品免费观看| 久久久av一区| 日韩福利片在线观看| 久久婷婷亚洲| 亚洲va男人天堂| 日韩一级片免费| 国产人久久人人人人爽| 国产精品夜夜夜爽张柏芝| 国产亚av手机在线观看| 色综合中文综合网| 亚洲精品在线网址| 亚洲精品中文字幕99999| 日韩中文字幕在线| 日本午夜精品理论片a级app发布| 久久大逼视频| 999久久久| 黄色av网站在线免费观看| 亚洲同性gay激情无套| 国产精品入口芒果| 国产69精品久久久久按摩| 日韩精品一区二区在线| 人人爽人人爽人人片| 欧美午夜不卡影院在线观看完整版免费| 欧美在线视频网站| 精品人妻少妇嫩草av无码专区| 久久一区二区视频| 69精品丰满人妻无码视频a片| 中文字幕乱码在线播放| 欧美一区二区三区人| 一道本在线观看| 亚洲国产91| 国产日韩精品视频| 色哟哟在线观看| 一区二区三区精密机械公司| 国产免费999| 欧美挤奶吃奶水xxxxx| 欧美成aaa人片免费看| 波多野结衣一区二区在线| 成人一区二区三区在线观看| 椎名由奈jux491在线播放| videos性欧美另类高清| 日韩女优毛片在线| 久久99久久99精品免费看小说| 免费欧美在线| 国产精品视频免费一区| a免费在线观看| 欧美亚洲图片小说| 四虎永久免费影院| 国产手机视频一区二区| 国产成人看片| 天堂av资源在线观看| 7777精品伊人久久久大香线蕉完整版 | 美日韩精品免费视频| 国产精品高清无码| 久久精品视频免费| 久久久噜噜噜www成人网| 懂色av一区二区| 美女性感视频久久久| 91国偷自产中文字幕久久| 国产亚洲一本大道中文在线| www黄色日本| 久久精品论坛| 韩剧1988在线观看免费完整版| 亚洲精品国产suv一区| 亚洲另类在线制服丝袜| 两性午夜免费视频| 欧美日韩四区| 国产传媒一区| sm在线播放| 亚洲国产黄色片| 免费黄色网址在线| 91丝袜高跟美女视频| 欧美成人一区二区在线观看| 香蕉国产成人午夜av影院| 777777777亚洲妇女| 亚洲人视频在线观看| 欧美性猛交xxxx乱大交| 熟女俱乐部一区二区| 日韩精品91亚洲二区在线观看 | 欧美黄色一区二区| 91传媒在线免费观看| 欧美性猛片xxxxx免费中国| 欧美成人精品3d动漫h| 韩日毛片在线观看| 99视频一区二区三区| 亚洲精品国产suv一区88| 欧美精品影院| 久久久久久久久久久久久久久久久久av | 99精品视频网| 美女黄毛**国产精品啪啪| 日韩国产激情| 久久久久99精品久久久久| www.日本在线观看| 婷婷夜色潮精品综合在线| 在线不卡av电影| 韩国精品免费视频| 91黄色在线看| 国产一区二区三区四区五区| 国产欧美一区二区三区在线| 色屁屁www国产馆在线观看| 亚洲精品国产精品国产自| 亚洲乱码国产乱码精品| 1000部国产精品成人观看| 久久无码专区国产精品s| 另类图片国产| 久久视频免费在线| 亚洲深夜福利在线观看| 成人精品视频在线| 黄色污网站在线观看| 中文字幕不卡av| 亚洲精品第五页| 欧美在线一区二区三区| 欧美日韩大片在线观看| 久久精品欧美日韩| 黄页网站在线看| 日韩综合一区二区| 日韩激情视频一区二区| 欧美理论电影大全| 国产综合欧美在线看| 亚洲日本在线观看视频| 欧美极品美女电影一区| www.成人.com| 日韩av中文字幕在线播放| 亚洲在线观看av| 欧美日韩国产在线| 日本精品人妻无码77777| 久久久久亚洲蜜桃| 精品无码av一区二区三区| 美国一区二区三区在线播放| 黄色一级在线视频| 欧美另类亚洲| 亚洲最大色综合成人av| 亚洲国产欧美日韩在线观看第一区 | 亚洲精品久久久狠狠狠爱 | 免费在线观看一级毛片| 日韩亚洲欧美高清| 亚洲天堂中文字幕在线| 欧美性色19p| 国产精品二区一区二区aⅴ| 综合久久综合久久| 亚洲天堂岛国片| 国产婷婷一区二区| 精品人妻一区二区三区日产乱码卜| 国产曰批免费观看久久久| 无码日韩人妻精品久久蜜桃| 国产欧美午夜| 久久久久久免费看| 亚洲二区免费| 日本大胆人体视频| 欧美一区二区三区久久精品茉莉花| 视频一区二区在线| 精品产国自在拍| 欧美日韩一区二区三| 亚洲高清极品| 欧美精品二区三区四区免费看视频| 久久男人av| 精品欧美一区二区三区久久久| 91大神精品| yy111111少妇影院日韩夜片| 亚洲不卡在线| 国产经典一区二区三区| 丁香一区二区| 久久www免费人成精品| 欧美高清视频看片在线观看| 精品福利影视| 中国av一区| 亚洲成人18| 91久久夜色精品国产按摩| 亚洲毛片aa| 天天做天天爱综合| 9色视频在线观看| 午夜欧美理论片| 日韩精品视频在线观看视频| 伊人久久久大香线蕉综合直播| 成人免费在线网| 亚洲欧美日韩专区| www.超碰com| 欧美aaa在线| 欧美性猛交xx| 北条麻妃一区二区三区| 超碰97在线资源站| 久久九九久久九九| 国内毛片毛片毛片毛片毛片| 亚洲男同1069视频| 日本最新中文字幕| 日本韩国欧美在线| 国产又粗又黄又爽视频| 欧美成人精精品一区二区频| 亚洲人成色777777精品音频| 亚洲系列中文字幕| 亚洲丝袜精品| 欧美一级bbbbb性bbbb喷潮片| 精品亚洲美女网站| 亚洲iv一区二区三区| 卡通动漫国产精品| 亚洲国产婷婷香蕉久久久久久99| 999国产精品永久免费视频app| 91网站在线观看免费| 久久国产精品亚洲77777| 激情黄色小视频| eeuss国产一区二区三区| 亚洲日本精品视频| 亚洲精品国产高清久久伦理二区| 日韩欧美大片在线观看| 欧美午夜精品久久久久久孕妇| 国产suv一区二区| 亚洲欧美综合图区| 中中文字幕av在线| 国产97在线观看| 视频欧美一区| 先锋影音亚洲资源| 在线欧美不卡| 999久久久精品视频| 91丨九色丨尤物| 免费在线观看一级片| 一道本成人在线| 国产不卡av在线播放| 亚洲欧洲中文天堂| av伦理在线| 91欧美激情另类亚洲| 要久久电视剧全集免费| 黄色一级大片免费| 久久99久久99小草精品免视看| 国模私拍在线观看| 亚洲欧美福利一区二区| 中文字幕免费高清网站| 精品久久国产老人久久综合| 77导航福利在线| 青青草原一区二区| 国产精品毛片av| 中国老女人av| 免费成人性网站| 欧美无人区码suv| 亚洲自拍另类综合| 国产精品亚洲欧美在线播放| 亚洲色图综合网| 国产免费拔擦拔擦8x在线播放| 91牛牛免费视频| 久久精品国产大片免费观看| 蜜臀久久99精品久久久酒店新书| 国产91精品一区二区麻豆网站 | 欧美性猛交xxxx乱大交| 六月婷婷中文字幕| 欧美日韩国产91| 国色天香久久精品国产一区| 在线视频精品一区| 热久久久久久久| 黄免费在线观看| 一本色道**综合亚洲精品蜜桃冫 | 视频直播国产精品| 久久精品女人天堂av免费观看| 国产主播一区二区三区四区| 国产专区一区| 午夜性福利视频| 一区av在线播放| 亚洲精品久久久久久久久久| 欧美成人久久久| 日本一区二区三区视频在线看| 超碰在线免费观看97| 国产在线国偷精品产拍免费yy| 国产精品视频在| 欧美色精品天天在线观看视频| 搞黄视频免费在线观看| 国产精品爽黄69天堂a| 不卡一区综合视频| 青青草原国产在线视频| 亚洲欧美在线另类| 成 人 免费 黄 色| 欧美多人乱p欧美4p久久| av成人男女| 欧美综合在线播放| 久久久久久影视| 中文字幕1区2区3区| 在线免费看av不卡| 亚洲精品一区二区在线播放∴| 黄色一级片网址| 国v精品久久久网| 日本道在线观看| 亚洲欧美一区二区激情| 日韩制服诱惑| 干日本少妇视频| 99视频有精品| 日批视频免费观看| 久久久国产在线视频| aiai久久| 国产一区二区视频免费在线观看| 欧美国产视频在线| 国产欧美久久久精品免费| 欧美激情久久久久久| 亚洲妇女av| www.色就是色.com| 亚洲午夜私人影院| 毛片在线免费| 亚洲综合大片69999| 一区二区三区福利| 女人黄色一级片| 欧美一级黄色大片| 天堂8中文在线最新版在线| 三级三级久久三级久久18| 国产剧情一区二区三区| 男女视频免费看| x99av成人免费| 欧美人成在线观看ccc36| 91精品无人成人www| 亚洲综合激情另类小说区| 深夜福利视频在线免费观看| 国产精品三级美女白浆呻吟| 欧美日韩少妇| 精品人妻中文无码av在线| 精品国产乱码久久久久久蜜臀 | 五月天激情在线| 久久天堂国产精品| 国产一区欧美日韩| 高潮毛片又色又爽免费| 欧美国产日本高清在线| 欧美丝袜一区| 国产二级一片内射视频播放| 欧美美女一区二区| 中文字幕乱码中文乱码51精品| 中文字幕在线乱| 国产三级精品视频| 欧美 日韩 国产 成人 在线 |