注意事项:.js文件中的任何标点都不能写错
以让网页吐司为例:
1. 新建一个Toast.js,在assets—》www—》plugins下新建一个cordova-plugin-xxx的文件夹,然后在这个文件家里创建一个xxx.js的文件
Toast.js的内容如下:
如果还不明白请对照参考cordova-plugin-xxx任意文件夹下的原始代码;
2. 修改cordova_plugins.js文件
别忘了在最后的module.exports.metadata中注册
3. 新建一个Toast.java
Execute方法对应的就是.js中的exec方法
4. 修改res—》xml—》config.xml文件
5. Html文件的编写
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- saved fromurl=(0032)http://localhost:8080/jsandroid/ -->
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-type"content="text/html; charset=utf-8">
<script type="text/javascript"charset="utf-8" src="cordova.js"></script>
<scripttype="text/javascript" charset="utf-8">
//toast
function Toast() {
navigator.Toast.getToast("吐司测试");//使用前缀+方法名调用java方法
}
</script>
</head>
<body style="padding-top:50px">
<buttonοnclick="Toast();">Toast</button>
</body>
</html>
以上这些就是自己定义一个cordova插件应该走的所有步骤,就像最上面说的一样,js文件中不要有一点错误,否则方法会调用不通,并且报的错并不好定位,一般都是报方法没有定义。
还有我们从网上下载的cordova插件也可以使用上面的步骤进行定义使用,需要注意的就是网上下载下来的cordova插件一般cordova-plugin-xxx.js文件都已经写好了,但是并没有外层的cordova.define("cordova-plugin-xxx.xxx", function(require, exports, module)这个方法定义声明,所以使用的时候会出现方法没有定义的错误,然后把插件的android文件夹里写好的java文件放到项目里,之后根据上面的2,4步骤进行相关修改就好了。