Phonegap 自定义插件
Posted work hard work smart
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Phonegap 自定义插件相关的知识,希望对你有一定的参考价值。
一、PhoneGap中js与Java之间相互调用分为同步和异步两种方式
1、同步:js调用Java类的方法,然后Java类的方法直接返回一个值给js端
2、异步:js调用Java类的方法,Java类的方法可能要处理一系列的事情。执行完后,通过回调把结果返回js端。
二、下面以android为例,通过插件实现js调用java类中的方法
1.创建cordova 工程
2. 在Android Studio打开
3. 在Index.html
<button id="showToast">Show Toast</button>
4. 在Index.js中加入插件执行方法
exec(<successFunction>, <failFunction>, <service>, <action>, [<args>]);
在onDeviceReady中加入
document.getElementById("showToast").addEventListener("click",app.showToast);
showToast方法就是调用插件的方法
showToast: function(){ cordova.exec( function(){}, function(){}, "Toast", "show", ["hello man"]); },
5. 创建插件
public class MyToast extends CordovaPlugin{ @Override public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { if ("show".equals(action)){ show(args, callbackContext); } return super.execute(action, args, callbackContext); } public void show(JSONArray args, CallbackContext callbackContext){ try { Toast.makeText(cordova.getActivity(),args.getString(0), Toast.LENGTH_LONG).show(); }catch (JSONException e){ e.printStackTrace(); } callbackContext.success(); } }
继承CordovaPlugin, 并实现execute方法。 action对应exec的第四个参数
6. xml中config.xml配置
<feature name="Toast"> <param name="android-package" value="com.example.tostplugin.MyToast" /> </feature>
Toast对应exec的第三个参数, value值com.example.tostplugin.MyToast 为插件的包名。
7. 效果图
以上是关于Phonegap 自定义插件的主要内容,如果未能解决你的问题,请参考以下文章
如何在 phonegap 构建中使用自定义 BarcodeScanner 插件?
如何在 iOS 中使用自定义 phonegap 3.3 插件