项目原因需要自定义Cordova插件,下面把实现过程记录以便将来查阅。工程为Eclipse下的Android工程,该工程已经引入Cordova。Cordova版本4.0.2。1、定义插件类OpenAppPlugin,继承CordovaPlugin覆写execute方法,该方法实现调用第三方App功能。 public class OpenAppPlugin extends CordovaPlugin { @Override public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException { if (action.equals("openThridPartyApp")) { Activity activity = this.cordova.getActivity(); String pkg = (String)args.get(0); PackageManager packageManager = activity.getPackageManager(); Intent intent = packageManager.getLaunchIntentForPackage(pkg); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED | Intent.FLAG_ACTIVITY_CLEAR_TOP) ; activity.startActivity(intent); } return false; } }2、配置config.xml文件,在res/xml文件夹中已有config.xml。 在配置文件widget节点下添加配置: <feature name="OpenAppPlugin"> <param name="android-package" value="com.bf.launcher.OpenAppPlugin" /> </feature>3、编写插件js文件。 在assets/www/plugins下新建blue-air/openapp.js文件,内容如下: cordova.define("com.blueair.plugin.openapp", function(require, exports, module) { var exec = require('cordova/exec'); module.exports = { openThridPartyApp : function(config) { var successCallBack = function() {}; var errorCallback = function() {}; exec(successCallBack, errorCallback, 'BFPlugin', 'openThridPartyApp', [config]); } }; });4、在cordova_plugins.js注册插件。 在assets/www/cordova_plugins.js中module.exports中添加openapp.js的引用。添加如下代码: { "file": "plugins/blue-air/openapp.js", "id": "com.blueair.plugin.openapp", "clobbers": [ "blueAir.plugins.openapp" ] }5、在页面中调用插件。 在页面中调用插件的方式如下: function openApp(pageageName){ blueAir.plugins.openapp.openThridPartyApp(pageageName); }
转载于:https://www.cnblogs.com/robertsun/p/5209635.html
相关资源:cordova 自定义插件demo(含jar包调用示例)