zoukankan      html  css  js  c++  java
  • Cordova自定义插件

    项目原因需要自定义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);
       }

  • 相关阅读:
    DRF版本控制
    Django Rest Framework 视图和路由
    ModelSerializer
    linux下jdk安装与配置
    linux下各种安装包下载地址
    Creating mailbox file: 文件已存在
    vim常用设置
    zookeeper集群搭建与升级
    linux下shell 脚本 中windows换行符换成linux换行符
    spring注解
  • 原文地址:https://www.cnblogs.com/robertsun/p/5209635.html
Copyright © 2011-2022 走看看