CustomCommand 接口
1. 宿主 CustomCommand 接入
功能介绍
通过使用团结宿主的 CustomCommand 接口,可以使得宿主调取到快应用框架的自定义接口,使宿主的部分基础能力和平台能力得到完善。
接入说明
JS 层调用 JAVA 层接口
// 异步
tj.customCommand(Object object, string methodName, ...);
// 同步
tj.customCommandSync(Object object, String methodName, ...);
Object 参数说明:
| 参数名 | 是否必填 | 描述 |
|---|---|---|
| success | 否 | CustomCommand 接口执行成功时调用的回调函数,参数 res 中包含执行结果,按需求可以有不止一个参数。 |
| fail | 否 | CustomCommand 接口执行失败时调用的回调函数,参数 obj 包含以下属性: |
| complete | 否 | CustomCommand 接口执行完成时调用的回调函数,无参数 |
其他参数说明:
| 参数名 | 是否必填 | 描述 |
|---|---|---|
| methodName | 是 | JS 层需要调到的 Java 层的接口名称 |
| ... | 由对应的 methodName 决定 | 此参数为执行对应自定义接口时需要传递的参数,目前支持以下 JS 类型: |
Java 层通过监听函数注册此接口
// 同步
void setCustomCommandListener(final CustomCommandListener);
void setCustomCommandListener(String methodName, final CustomCommandListener);
// 异步
Object setSyncCustomCommandListener(final SyncCustomCommandListener);
Object setSyncCustomCommandListener(String methodName, final SyncCustomCommandListener);
JAVA 层执行 JS 代码
hostHandle.runCustomscript(final String script, final RunScriptListener listener);
接口说明:
| 参数名 | 是否必填 | 描述 |
|---|---|---|
| script | 是 | 需要 JS 层执行的 JS 代码的字符串形式。注意使用转义字符将特殊符号进行转义,例如单引号、双引号等。 |
| listener | 否 | 执行 script js 代码后执行的回调,需要重写 onRunScriptEnd(Bundle args) 方法 |
相关 API
onCallCustomCommand 函数介绍
CustomCommandHandle handle
| 方法名 | 参数 | 描述 |
|---|---|---|
| success | 无 | 执行自定义 java 接口成功后调用,调用后会将执行结果返回给 JS 层,并执行相应 success、complete 回调。 |
| fail | int errorCode,String errorMsg | 执行自定义 java 接口失败后调用,调用后会将错误信息返回给 JS 层,并执行相应 fail、complete 回调。errorCode 与 errorMsg 会传给 fail 回调。 |
| pushResult | 非空,支持的类型见下方备注。 | 返回给 JS 的结果会按照调用 pushResult 的顺序依次先缓存到 handle 中,等调用 handle.success() 后会把结果以参数的形式返回给对应 tj.customCommand 请求的 success 回调。 |