> 文档中心 > HarmonyOS应用开发:JS FA调用Java PA(概览)

HarmonyOS应用开发:JS FA调用Java PA(概览)


方舟开发框架-基于JS扩展的类Web开发范式框架提供了一种FA(JS API)调用PA(Java API)的机制,包含远端调用Ability和本地调用Internal Ability两种方式

FA端接口:

FeatureAbility.callAbility(OBJECT):调用PA能力
FeatureAbility.subscribeAbilityEvent(OBJECT, Function):订阅PA能力
FeatureAbility.unsubscribeAbilityEvent(OBJECT):取消订阅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访问调用

JS端与Java端通过接口扩展机制进行通信,通过bundleNameabilityName来进行关联。在FeatureAbility Plugin收到JS调用请求后,系统根据开发者在JS指定的abilityType,Ability或Internal Ability,来选择对应的方式进行处理。开发者在onRemoteRequest()中实现PA提供的业务逻辑,不同的业务通过业务码来区分。

参数(FA的Object成员,PA的data)

 返回值:

Promise

Promise中包含PA返回的结果数据,结果格式为JSON字符串。