上篇文章中讲述了Android原生怎么集成MUI框架的(Android原生集成MUI框架进行混合开发),这篇文章接上篇文章
来继续讲解在Android集成了MUI(或者H5)后进行原生与H5之间的通讯功能,从而实现其交互功能(项目Demo如下,有需要的可以下载查看):
1在mui中新建通讯类插件nativeManager.js,代码如下:
/**
* 原生平台操作管理器
*/
var nativeManager = {
/**
* 原生平台管理器
*/
manager: {
/**
* iOS平台
*/
iOS: {
/**
* 通知管理中心
*/
get notificationCenter() {
return plus.ios.importClass("NSNotificationCenter").defaultCenter()
}
},
/**
* Android平台
*/
android: {
/**
* 通知管理中心
*/
get notificationCenter() {
return plus.android.importClass("com.example.andyyuan.androidmui.OpenActivityUtils")
},
/**
* 通信类名称
*/
communicationClassName: "com.example.andyyuan.androidmui.OpenActivityUtils",
/**
* 通信类名称+回调
*/
communicationClassNameCallBack: "com.example.andyyuan.androidmui.OpenActivityUtils$CallBack",
/**
* 通信类标准方法
*/
communicationDefaultFunctionName: "loadDataFromH5ToNative",
/**
* 通信类回调标准方法
*/
callBackDefaultFunctionName: "loadDataFromNativeToH5",
/**
* 通信类回调标准方法
*/
callBackEvent: function (callBack) {
var _self = nativeManager.manager.android
var callBackDefaultFunctionName = _self.callBackDefaultFunctionName
var communicationClassNameCallBack = _self.communicationClassNameCallBack
return plus.android.implements("com.example.andyyuan.androidmui.OpenActivityUtils$CallBack", {
"loadDataFromNativeToH5" : function(jsonObject){
callBack(jsonObject)
}
})
},
/**
* h5发送消息给原生
* @param {
* platform, 平台类型:Android
* methodType,方法类型:nativeManager