android cordova交互,Cordova与原生交互--传值

cordova与原生的交互都是基于插件的形式提供(例如,获取设备信息、网络状态等)。依据项目业务就需要自定义插件

1.使用plugman创建MiPlugin插件,并安装到项目中(会生成对应的模板文件 plugin.xml MiPlugin.js MiPlugin.java 等文件)

1、安装plugman

npm install -g plugman

2、创建插件

plugman create --name MiPlugin --plugin_id cordova-plugin-mi --plugin_version 1.0.0

cd MiPlugin

3. 增加Android平台

plugman platform add --platform_name android

4. 生成package.json

npm init

5. 安装本地插件

cordova plugin add 本地路径

cordova plugin list查看插件是否安装成功

MiPlugin.js

在js文件添加hello方法

var exec = require('cordova/exec');

// Reference name for the plugin

PLUGIN_NAME = 'MiPlugin';

// Plugin methods on the native side that can be called from JavaScript

pluginNativeMethod = {

COOLMETHOD: 'coolMethod',

HELLO : 'hello'

}

var MiPlugin = {

coolMethod : function (arg0, success, error) {

exec(success, error, PLUGIN_NAME, pluginNativeMethod.COOLMETHOD, [arg0]);

},

helloworld : function (arg0,success,error) {

exec(success, error, PLUGIN_NAME, pluginNativeMethod.HELLO, [arg0]);

}

}

module.exports = MiPlugin;

MiPlugin.java

在MiPlugin.java添加对应的hello方法

public class MiPlugin extends CordovaPlugin {

@Override

public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {

if (action.equals("coolMethod")) {

String message = args.getString(0);

this.coolMethod(message, callbackContext);

return true;

} else if (action.equals("hello")) {

this.jsHello(message,callbackContext);

}

return false;

}

private void coolMethod(String message, CallbackContext callbackContext) {

if (message != null && message.length() > 0) {

callbackContext.success(message);

} else {

callbackContext.error("Expected one non-empty string argument.");

}

}

private void jsHello(String message, CallbackContext callbackContext) {

System.out.println("hello world");

callbackContext.success();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值