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

ArkUI調用Java PA,使用Java FA的Webview組件

開發 后端
聲明式UI開發框架(ArkUI),沒有WebView組件,如何從ArkUI從發起調用Java PA從Java的PA跳轉到Java的FA,使用Java FA的WebView組件?

[[441027]]

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

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

https://harmonyos.51cto.com

1.業務實踐背景:

聲明式UI開發框架(ArkUI),沒有WebView組件,如何從ArkUI從發起調用Java PA從Java的PA跳轉到Java的FA,使用Java FA的WebView組件?

2.業務實現邏輯

2.1 建立ets的工程,使用api 7.0 構建;

2.2 ArkUI的初始界面添加onClick點擊事件,從ArkUI發起對Java PA(Service Ability)的調用;

UI視圖如下:

#星光計劃2.0# ArkUI 調用Java  PA,使用Java FA的Webview組件-鴻蒙HarmonyOS技術社區

構建ets視圖代碼如下:

#星光計劃2.0# ArkUI 調用Java  PA,使用Java FA的Webview組件-鴻蒙HarmonyOS技術社區

2.3 ArkUI調用Java PA(Service Ability)機制:

#星光計劃2.0# ArkUI 調用Java  PA,使用Java FA的Webview組件-鴻蒙HarmonyOS技術社區

通過FeatureAbility.callAbility({}),呼叫后臺定義的Java PA(Service Ability),目前有兩種機制可以實現。

方舟開發框架-基于JS擴展的類Web開發范式框架提供了一種FA(JS API)調用PA(Java API)的機制,包含遠端調用Ability和本地調用Internal Ability兩種方式。

FA提供了以下三個JS接口:

FeatureAbility.callAbility(OBJECT):調用PA能力

FeatureAbility.subscribeAbilityEvent(OBJECT, Function):訂閱PA能力

FeatureAbility.unsubscribeAbilityEvent(OBJECT):取消訂閱PA能力

JS端與Java端通過接口擴展機制進行通信,通過bundleName和abilityName來進行關聯。在FeatureAbility Plugin收到JS調用請求后,系統根據開發者在JS指定的abilityType,Ability或Internal Ability,來選擇對應的方式進行處理。開發者在onRemoteRequest()中實現PA提供的業務邏輯,不同的業務通過業務碼來區分。

在PA端提供的接口為:

boolean IRemoteObject.onRemoteRequest(int code, MessageParcel data, MessageParcel reply, MessageOption option):Ability方式,與FA通過rpc方式通信,該方式的優點在于PA可以被不同的FA調用。

boolean onRemoteRequest(int code, MessageParcel data, MessageParcel reply, MessageOption option):Internal Ability方式,集成在FA中,適用于與FA業務邏輯關聯性強,響應時延要求高的服務。該方式僅支持本FA訪問調用。

2.4 在src的Java目錄下新建Service Ability,截圖如下:

#星光計劃2.0# ArkUI 調用Java  PA,使用Java FA的Webview組件-鴻蒙HarmonyOS技術社區

2.5 在Service Ability新建內部類WebRemote,繼承RemoteObject,實現IRemoteBroker接口,具體代碼如下:

#星光計劃2.0# ArkUI 調用Java  PA,使用Java FA的Webview組件-鴻蒙HarmonyOS技術社區

第一步: 在onRemoteRequest方法中接受ArkUI傳過來的url,通過ZSONObject解析獲取;

第二步: 在獲取到url后,通過Intent對象設置,通過startAbility(intent)啟動到Java FA。

2.6 Java FA的布局和具體的Slice中獲取加載WebView組件:

#星光計劃2.0# ArkUI 調用Java  PA,使用Java FA的Webview組件-鴻蒙HarmonyOS技術社區
#星光計劃2.0# ArkUI 調用Java  PA,使用Java FA的Webview組件-鴻蒙HarmonyOS技術社區

2.7 在config.json文件中配置網絡訪問權限:

#星光計劃2.0# ArkUI 調用Java  PA,使用Java FA的Webview組件-鴻蒙HarmonyOS技術社區

最后的視圖效果是:

#星光計劃2.0# ArkUI 調用Java  PA,使用Java FA的Webview組件-鴻蒙HarmonyOS技術社區

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

https://harmonyos.51cto.com/resource/1589

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

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

https://harmonyos.51cto.com

 

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

2021-09-10 15:13:41

鴻蒙HarmonyOS應用

2021-10-27 10:05:55

鴻蒙HarmonyOS應用

2022-03-07 14:58:10

ArkUIJS FAJava

2022-06-02 14:27:05

UI框架JS

2012-12-26 12:41:14

Android開發WebView

2021-07-16 09:54:49

鴻蒙HarmonyOS應用

2010-08-04 10:17:17

Android開發WebView組件

2022-07-11 16:26:37

eTS計算鴻蒙

2022-02-24 16:00:59

Ability鴻蒙JS

2022-02-17 21:28:08

AbilityJSFA鴻蒙

2022-02-17 21:19:35

JSFA操作系統鴻蒙

2023-12-29 08:37:59

2022-05-20 10:56:54

AbilityeTS FA調用

2022-07-06 20:24:08

ArkUI計時組件

2022-07-04 16:34:46

流光按鈕Stack

2022-10-24 14:49:54

ArkUI心電圖組件

2021-12-20 20:30:48

鴻蒙HarmonyOS應用

2022-07-26 14:40:42

ArkUIJS

2022-10-17 14:36:09

ArkUI虛擬搖桿組件

2014-09-22 15:14:04

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人影院在线观看 | 一区二区三区四区在线免费观看 | 国产精品久久国产精品 | 亚洲一区日韩 | 国产午夜精品理论片a大结局 | 观看av| 在线a视频网站 | 超碰男人天堂 | 成人免费在线 | 日本在线视频一区二区 | 亚洲一区二区三区免费在线观看 | 操久久| 欧美视频网| 91.色| 在线观看国产视频 | 一区二区三区在线电影 | 99在线播放 | 欧美 日韩 中文 | 亚洲免费av一区 | 久久久久久久久99精品 | 欧美涩| 久久91 | 婷婷久久久久 | 在线视频一区二区三区 | 国产精品精品久久久 | 一区二区三区在线 | 欧 | 欧美综合一区二区三区 | 一级全黄少妇性色生活免费看 | 日韩三级在线观看 | www4虎| 亚洲成人精品 | 国产 日韩 欧美 在线 | 欧美一区二区三区在线 | 久久综合狠狠综合久久 | 91精品久久久 | 91精品国产色综合久久 | 日韩欧美国产综合 | 91视频网| 久久久影院 | 精品国产乱码久久久久久丨区2区 | 国产精品成人在线观看 |