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);
       }

  • 相关阅读:
    ASP.NET 点击前台服务器按钮后, 刷新. 重新执行 按钮事件
    动态绑定数据日历jquery
    前端及移动端学习 笔记 -待更新
    jq 兼容性 ie7,ie8
    jQuery中的$(window).load()与$(document).ready()
    SqlServer中循环和条件语句示例!
    调用一般处理程序 提供接口api
    background-position: -24px 0px
    中奖名单滚动
    在此上下文中不允许使用子查询
  • 原文地址:https://www.cnblogs.com/robertsun/p/5209635.html
Copyright © 2011-2022 走看看