Cordova自定义插件

it2022-05-05  139

项目原因需要自定义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包调用示例)

最新回复(0)