精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产午夜精品一区理论片飘花 | 97在线观看视频国产| 无码人妻aⅴ一区二区三区玉蒲团| 天天干在线视频论坛| 成人免费的视频| 国产www精品| 中文字幕电影av| 欧美黄色录像| 欧美日韩一区三区| 久久九九国产精品怡红院| 国产美女视频免费看| av在线理伦电影| 国产精品私人影院| 久久99久久99精品蜜柚传媒| 日本妇乱大交xxxxx| 激情婷婷欧美| www亚洲欧美| 特级西西人体wwwww| 久久人体av| 欧美日韩中文字幕日韩欧美| 大桥未久一区二区| 国产在线观看黄| 国产精品羞羞答答xxdd | 亚洲综合av一区二区三区| 国产精品久久久久久久久免费桃花| 国产精品一区视频网站| 一区二区小视频| 国产午夜久久| 欧美激情中文字幕在线| 小泽玛利亚一区二区免费| 国产成人调教视频在线观看| 欧美岛国在线观看| 污网站在线免费| 欧美××××黑人××性爽| 午夜精品在线看| 精品人妻大屁股白浆无码| 日本中文字幕电影在线免费观看| 久久这里只有精品视频网| 999精品视频一区二区三区| 97超碰人人模人人人爽人人爱| 久久xxxx精品视频| 57pao精品| 国产乡下妇女做爰毛片| 欧美在线观看天堂一区二区三区| 日韩在线观看网址| 欧美另类69xxxx| 黑人操亚洲人| 亚洲天堂视频在线观看| 男生裸体视频网站| 人人网欧美视频| 亚洲精品福利免费在线观看| 69xxx免费视频| 一区二区三区在线免费看| 日韩一区二区精品葵司在线| 日本中文字幕在线不卡| 欧洲午夜精品| 3atv一区二区三区| 一区二区三区国产好的精华液| 亚洲男人在线| 日韩视频一区二区| 国产欧美视频一区| 国产精品高潮呻吟久久久久| 精品成人私密视频| www.88av| 国产一区二区区别| 最近中文字幕日韩精品| 182在线观看视频| 欧美日韩国产亚洲一区| 久久久久久香蕉网| 99精品人妻国产毛片| 日韩高清一级片| 国产在线观看精品一区二区三区| 国产巨乳在线观看| 成人在线视频一区| 欧美亚洲丝袜| 国产福利在线| 亚洲素人一区二区| www.亚洲成人网| 亚洲深夜视频| 91国偷自产一区二区开放时间 | 蜜乳av一区二区三区| 国产日韩在线视频| 亚洲第一免费视频| 91免费国产在线| 视频一区视频二区视频三区视频四区国产 | 天天色天天综合| 韩国自拍一区| 国产成人一区二区三区| 国产女人爽到高潮a毛片| 国产91丝袜在线播放| 免费一区二区三区在在线视频| yjizz视频网站在线播放| 亚洲同性同志一二三专区| r级无码视频在线观看| 韩日一区二区| 精品福利一二区| 久久国产柳州莫菁门| 永久91嫩草亚洲精品人人| 91国产视频在线| 一本色道久久综合精品婷婷| www.亚洲国产| 一级一片免费播放| 亚洲黄色网址| 日韩欧美亚洲另类制服综合在线| 亚洲av片不卡无码久久| 自拍偷拍欧美专区| 国产suv精品一区二区| 蜜桃av免费观看| 欧美精品三级| 国产精品欧美日韩久久| 天天综合天天色| 亚洲欧洲另类国产综合| 国产男女无遮挡| 精品一区二区三区中文字幕在线| 亚洲男人天天操| 久久综合成人网| 免费在线观看精品| 久久国产精品 国产精品| 国产日产一区二区| 日本韩国欧美国产| 菠萝菠萝蜜网站| 欧美二区不卡| 成人激情在线播放| www.在线播放| 日韩欧美高清视频| 日韩少妇一区二区| 欧美日韩国产欧| 91免费的视频在线播放| 成人资源www网在线最新版| 亚洲国产aⅴ天堂久久| 亚洲成人手机在线观看| 日韩电影免费网址| 国产成人精品一区二区| 天堂а√在线8种子蜜桃视频| 综合婷婷亚洲小说| 浓精h攵女乱爱av| 狠狠综合久久av一区二区蜜桃| 国自在线精品视频| 高清乱码毛片入口| 亚洲一区二区三区视频在线播放 | 伊人久久综合一区二区| 欧美精品一区二区三区蜜桃| 欧美日韩在线视频免费播放| 狠狠色丁香婷婷综合| 亚洲欧洲日韩精品| 成人免费黄色| 伊人久久久久久久久久| 国产字幕在线观看| 国产丝袜美腿一区二区三区| 99热成人精品热久久66| 伊人久久大香线蕉综合网蜜芽| 97人洗澡人人免费公开视频碰碰碰| 国精产品一品二品国精品69xx | 国产a精品视频| 91精品一区二区三区四区| 亚洲精品伦理| 久久久久99精品久久久久| 国产精品伦一区二区三区| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 欧美日韩国产中字| 自拍偷拍中文字幕| 日本视频在线一区| 在线观看欧美一区| 欧美影院在线| 国模叶桐国产精品一区| 日韩av高清在线| 欧美在线观看一区| 中文字幕91视频| 国产老妇另类xxxxx| 日本精品福利视频| 日韩高清成人在线| 国产精品扒开腿做爽爽爽的视频| 99视频在线观看地址| 欧美绝品在线观看成人午夜影视| 五月婷婷一区二区| 成人av在线电影| 亚洲综合色av| 欧洲性xxxx| 毛片av中文字幕一区二区| 自拍偷拍一区二区三区| 一区二区中文字幕在线观看| 91国产精品91| 午夜国产福利在线| 91精品婷婷国产综合久久| 你懂得在线观看| 成人av电影在线网| 中文字幕第88页| 亚洲网站视频| 欧美性bbwbbwbbwhd| 国产欧美日韩电影| 97视频在线播放| 麻豆视频在线| 日韩精品免费在线播放| 91女人18毛片水多国产| 五月婷婷久久丁香| 国产在视频线精品视频| 成人av网在线| 日韩爱爱小视频| 在线亚洲免费| 综合久久国产| 国产不卡一区| av一本久道久久波多野结衣| 自拍偷自拍亚洲精品被多人伦好爽| 久久午夜a级毛片| 青青草视频在线免费观看| 欧美一级片在线观看| 免费看一级视频| 亚洲国产成人av网| 精品国产大片大片大片| 91片黄在线观看| 无码人妻一区二区三区在线视频| 久久久青草婷婷精品综合日韩| 国产一级黄色录像片| 国产精品三级| 日韩中文字幕亚洲| 成人免费黄色小视频| 91在线视频免费91| 善良的小姨在线| 石原莉奈一区二区三区在线观看| 99国产精品白浆在线观看免费| 狠狠色丁香婷婷综合影院| 国产福利一区二区三区在线观看| 亚洲网站在线免费观看| 韩国成人在线视频| 少妇性l交大片| 一区二区日本视频| 99er在线视频| 91精品动漫在线观看| 欧美亚洲第一区| 亚洲性图自拍| 日韩在线视频二区| 成人在线视频成人| 亚洲免费电影在线观看| 少妇高潮一区二区三区99小说| 欧美日韩在线观看一区二区 | 你懂的在线网址| 亚洲变态欧美另类捆绑| 国产黄a三级三级看三级| 欧美日韩视频第一区| 亚洲 小说区 图片区| 色久综合一二码| 中文字幕黄色片| 色综合网色综合| 亚洲免费黄色网址| 欧美性感美女h网站在线观看免费| 国产黄色片视频| 午夜电影一区二区| 亚洲天堂一区在线| 欧美午夜视频在线观看| 国产精品美女久久久久av爽| 午夜精品久久久久久不卡8050| 久久免费在线观看视频| 亚洲一线二线三线视频| 亚洲一区二区91| 午夜欧美视频在线观看| 日本免费观看视| 欧美日韩午夜剧场| 欧美成人一区二区三区四区| 在线观看av一区| 五月天中文字幕| 欧美乱妇20p| 亚洲乱色熟女一区二区三区| 精品国产露脸精彩对白| 日本高清视频网站| 日本三级在线观看网站| 97视频在线观看播放| 欧美日韩大片| 国产免费亚洲高清| 国产精区一区二区| 国内精品视频在线播放| 免费一区二区三区视频导航| 日韩中文一区| 在线精品小视频| 欧美午夜小视频| 久久中文字幕一区二区三区| 日韩不卡一二三| 国产成人av电影免费在线观看| 波多野结衣一二三区| 国产色爱av资源综合区| 国产稀缺精品盗摄盗拍| 黄色一区二区在线| 伊人久久国产精品| 欧美成人三级在线| 免费a级毛片在线观看| 日韩性生活视频| 国精一区二区三区| 国产成人综合一区二区三区| 四虎地址8848精品| 国产一区高清视频| 日韩精品四区| 好吊妞无缓冲视频观看| 秋霞国产午夜精品免费视频| 三上悠亚 电影| 久久九九99视频| 欧美又粗又大又长| 欧美视频自拍偷拍| 成人午夜免费在线观看| 在线观看日韩视频| 91九色国产在线播放| 国产精品丝袜一区二区三区| av不卡一区| 亚洲精品tv久久久久久久久| 伊人久久亚洲热| 国产aⅴ爽av久久久久| 91色九色蝌蚪| 久久午夜鲁丝片午夜精品| 欧洲色大大久久| 好吊色一区二区| 久久影视免费观看| 欧洲精品一区二区三区| 国产精品三区www17con| 999国产精品永久免费视频app| 18岁网站在线观看| 国产福利一区在线观看| wwwww黄色| 福利视频一区二区| 成人久久精品人妻一区二区三区| xvideos亚洲人网站| 345成人影院| 国产欧美综合精品一区二区| 亚洲一级毛片| 亚洲欧美日本一区二区三区| 久久精品一区蜜桃臀影院| 国产69精品久久久久久久久久| 日韩欧美综合在线| 欧美96在线| 国产精品视频一区国模私拍| 亚洲精品国产动漫| 亚洲中文字幕无码av永久| 国产成人小视频| 久草综合在线视频| 91精品综合久久久久久| 成a人v在线播放| 国产成人精品免费久久久久 | 日本欧洲国产一区二区| 中文亚洲字幕| 久久久久亚洲AV成人无码国产| 亚洲黄色片在线观看| 一区二区三区视频观看| 亚洲成a人片| 日本一区二区三区免费观看| 久久久夜精品| 亚洲女优在线观看| 在线观看日韩高清av| 经典三级在线| 国产精品69av| 久久精品国产精品亚洲色婷婷| 成人久久视频在线观看| 日韩美女视频网站| 日韩久久精品成人| 中老年在线免费视频| 蜜桃久久精品乱码一区二区 | 2020欧美日韩在线视频| 国产精品巨作av| 欧美 日韩 激情| 久久影院午夜片一区| 日韩在线视频免费播放| 亚洲美女自拍视频| 成人精品电影在线| 亚洲一区二区精品在线| 国产一区二区三区久久久| 放荡的美妇在线播放| 精品国产乱子伦一区| 麻豆mv在线看| 日韩福利在线| 久久91精品久久久久久秒播| 国产精品久久久久久久精| 精品少妇一区二区三区免费观看| 福利成人导航| 欧美激情论坛| 久久99久久精品| 黄色一级视频在线观看| 日韩大片免费观看视频播放| 快播电影网址老女人久久| 在线成人av电影| 成人av在线一区二区| 国产精品成人久久久| 久久影院免费观看| 人人精品亚洲| 91国内在线播放| 午夜成人免费视频| 尤物网在线观看| 96成人在线视频| 香蕉久久夜色精品| 一区二区三区影视| 日韩风俗一区 二区| 欧美久久久网站| 九色自拍视频在线观看| 欧美国产日韩精品免费观看| 国产高潮流白浆喷水视频| 5278欧美一区二区三区| 国产韩国精品一区二区三区| 亚洲精品第二页| 欧美午夜精品久久久| www欧美xxxx| 亚洲精品国产一区| 99久久精品国产一区二区三区 | 精品国产免费一区二区三区香蕉| 亚洲国产福利| av在线免费观看国产|