# 其他
# 1 设置小程序Activity的切换动画
# API
/**
* 设置小程序Activity的切换动画
*
* @param anim [Anim]动画
*/
fun setActivityTransitionAnim(anim: Anim)
# 调用示例
# 2 原生发送事件给小程序
# API
/**
* 原生发送事件给小程序
* @param appId
* @param params 事件参数
*/
fun sendCustomEvent(appId: String, params: String)
# 调用示例
# 3 创建一个[FinAppletWebView]实例
改方法已于
2.12.4
版本废弃,若需要用到FinAppletWebView
,直接实例化该类即可。
# API
/**
* 创建一个[FinAppletWebView]实例
*
* @param context [Context]对象
* @return 一个[FinAppletWebView]实例
*/
fun createFinAppletWebView(context: Context): FinAppletWebView
# 调用示例
# 4 跨进程调用接口
# 4.1 主进程调用小程序进程
调用 需要在主进程调用
FinAppClient.appletApiManager.callInAppletProcess(
FinAppClient.appletApiManager.getCurrentAppletId().orEmpty(),
"主进程调用小程序进程方法名",
"主进程调用小程序进程参数",
object : FinCallback<String> {
override fun onSuccess(result: String?) {
toast("小程序进程返回的结果:$result")
}
override fun onError(code: Int, error: String?) {
}
override fun onProgress(status: Int, info: String?) {
}
})
接收 需要在小程序进程注册处理方法 可通过FinAppClient.isFinAppProcess(context)
判断是否是小程序进程
if (FinAppClient.isFinAppProcess(this)) {
FinAppProcessClient.appletProcessApiManager.setMainProcessCallHandler(
object : IAppletProcessApiManager.MainProcessCallHandler {
override fun onMainProcessCall(
name: String,
params: String?,
callback: IApiCallback?
) {
toast("主进程调用小程序进程:name:$name,params:$params")
callback?.onSuccess("返回结果给主进程")
}
})
}
# 4.2 小程序进程调用主进程
调用 需要在小程序进程调用
FinAppProcessClient.appletProcessApiManager.callInMainProcess(
"小程序进程调用主进程的方法名",
"小程序进程调用主进程的参数",
object : FinCallback<String> {
override fun onSuccess(result: String?) {
toast("小程序进程调用主进程成功:$result")
}
override fun onError(code: Int, error: String?) {
}
override fun onProgress(status: Int, info: String?) {
}
})
接收 需要在主进程注册处理方法
FinAppClient.appletApiManager.setAppletProcessCallHandler(
object : IAppletApiManager.AppletProcessCallHandler {
override fun onAppletProcessCall(
name: String,
params: String?,
callback: IApiCallback?
) {
application.toast("小程序进程调用主进程:name:$name,params:$params")
callback?.onSuccess("返回结果给小程序进程")
}
})
# 5 在小程序进程调用api
FinAppClient.appletApiManager
只能在主进程中使用
在小程序进程中要使用FinAppProcessClient.appletProcessApiManager
之中的方法。
如
FinAppProcessClient.appletProcessApiManager.getCurrentAppletId()
FinAppProcessClient.appletProcessApiManager.getAppletInfo()
FinAppProcessClient.appletProcessApiManager.sendCustomEvent(params)