cordova 插件 修改版
1.创建项目
cordova create LocalCordova com.hjk.cordova CordovaApp
2.创建插件
plugman create --name HjkPlugin --plugin_id HjkPlugin --plugin_version 1.0.0
3.HjkPlugin目录结构
src--android ---HjkPlugin.java java代码
www-HjkPlugin.js js调用配置
plugin.xml 配置页面
package.json 通过npm init 获取
HjkPlugin.java
package org.apache.cordova.bluetooth;import android.widget.Toast;import org.apache.cordova.CallbackContext;
import org.apache.cordova.CordovaArgs;
import org.apache.cordova.CordovaPlugin;
import org.json.JSONArray;
import org.json.JSONException;public class HjkPlugin extends CordovaPlugin {@Overridepublic boolean execute(String action, CordovaArgs args, CallbackContext callbackContext) throws JSONException {//localTost 为对外调用的方法名if("localToast".equals(action)){Toast.makeText(cordova.getActivity(),"cordova plugin test :" + args.getString(0),Toast.LENGTH_LONG).show();//callbackContext用来调用回调函数,success为调用成功的回调callbackContext.success("toast success");return true;}//error为返回错误时的回调callbackContext.error("toast error");return false;}
}
HjkPlugin.js
var exec = require('cordova/exec');
// arg1:成功回调
// arg2:失败回调
// arg3:对应xml配置文件中的feature name
// arg4:plugin 插件中比对的action
// arg5:参数,json格式
// 属性中的localToast => 外部调用的对象
// exec中的localToast => plugin 插件中比对的actionvar hjkFunc = {localToast : function (success, error,arg0) {exec(success, error, "HjkToast", "localToast", [arg0]);}
}module.exports = hjkFunc;
plugin.xml
HjkPlugin
package.json
{"name": "hjkplugin","version": "1.0.0","description": "test for plugin","cordova": {"id": "HjkPlugin","platforms": ["android"]},"main": "index.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1"},"author": "hjk","license": "ISC"
}
4.项目添加插件
cordova plugin add E:\cordova_workspace\HjkPlugin
5.调用插件
onDeviceReady: function() {this.receivedEvent('deviceready');cordova.plugins.HjkPlugin.localToast(function (res) {alert(res)}, function (msg) {alert(msg)},"just hjk toast")},
6.运行
cordova run android
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
