项目原因需要自定义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自定义插件相关推荐

  1. cordova自定义android插件,Cordova 自定义插件(Android版本)

    Cordova 自定义插件(android) 特别注意 android 项目的包名 必须为 com.example.hello,否则编译不会通过. 1.安装命令工具 $ npm i plugman - ...

  2. ionic2/cordova自定义插件集成aar包

    一.准备自定义插件 1. 准备:安装plugman npm install -g plugman 2. 新建组件 plugman create --name MyPlugin --plugin_id ...

  3. phonegap(cordova) 自定义插件代码篇(三)----支付宝支付工具整合

    建议读者,先阅读官方文档,知晓其支付流程之后再来使用此代码,比如客户需要做什么,服务端需要做什么(很重要!很重要!很重要!),因为这几个篇幅都是纯代码篇,因为阅读前面的入门篇之后看这些应该毫无问题才对 ...

  4. Cordova应用的JavaScript代码和自定义插件代码的调试

    我之前写过三篇Cordova相关的技术文章.当我们使用Cordova将自己开发的前端应用打包安装到手机上后,可能会遇到需要调试Cordova应用的时候. 本文就介绍Cordova应用的调试步骤. 如果 ...

  5. cordova开发插件,并在android studio中开发、调试

    之前用过cordova Lib包装H5页面,自己写插件,但做法是野路子,不符合cordova插件的开发思路,这次项目又需要包装H5页面,同时需要自定义插件.所以又折腾了一次cordova自定义插件. ...

  6. Cordova学习--iOS自定义插件

    上一篇文章中我们已经成功创建了一个App,在这一篇中,我们实现自定义原生插件,由js调用原生插件.在这里我们实现功能如下 一.创建插件文件 在plugins文件夹下创建插件EchoPlugin,继承自 ...

  7. 超详细手把手教你cordova开发使用指南+自定义插件,jsbridge

    Cordova是什么 使用前端技术 开发跨平台web App的工具 底层原理:HTML+CSS搭建页面, JS和原生交互 交互原理:Cordova插件 环境配置 安卓开发基础环境搭建的文章可以参考一下 ...

  8. ionic4自定义插件

    安装插件 npm install -g plugman 创建插件 plugman create --name TestPlugin --plugin_id com.plugin.testPlugin ...

  9. Ionic初学之Ionic3(Cordova)插件制作与添加

    现在制作APP都流行混合开发,Ionic是个不错的选择,但是很多原生的功能,混合开发是无法实现的,这时候就要根据功能来制作Cordova插件来实现,下面就记录第一次制作Cordova插件的步骤和遇到的 ...

最新文章

  1. springboot自动装配原理笔记一
  2. JS Array.reduce 实现 Array.map 和 Array.filter
  3. 计算机未识别网络什么意思,win7 64位系统提示当前连接到未识别的网络怎么办...
  4. JSP/Servlet Web 学习笔记 DayFour —— 实现一个简单的JSP/Servlet交互
  5. mysql中如何删除多个表格_mysql怎么批量删除多个表?
  6. Express 极速掌握
  7. 晶振两端的谐振电容有特殊要求吗_干货 | 晶振电路设计诀窍
  8. angular 设置接口调用地址_[译] 关于 Angular 的变化检测,你需要知道的一切
  9. 20155337 《网络对抗》 Exp2 后门原理与实践
  10. python基础快速入门day01
  11. 关于树叶的活动设计_悦趣课堂、教学相长 ——济南市天桥区金色悦城幼儿园公开课活动纪实...
  12. 8位单片机003兼容替换意法半导体STM8S003F3P6
  13. 插桩java_字节码插桩技术
  14. 数电Day06:主从触发器和边沿触发器,触发器的逻辑符号,时序波形
  15. win10无法打开匿名级安全令牌_无法打开匿名级安全令牌
  16. c++课程设计图书馆管理系统总结
  17. chrome浏览器加载图片失败问题
  18. 【博学谷学习记录】超强总结,用心分享 | shell基础
  19. 【Python】阿里云对象存储OSS图床上传图片
  20. SpringCloud版本Hoxton SR5 --- 第七讲:SpringCloud Config 分布式配置中心+整合bus、rabbitmq、actuator

热门文章

  1. Debugging with GDB (6) gdb 命令
  2. 邮件营销的三个基本要素讲解
  3. AppLoader发布
  4. 2021 最新CV综述分类汇总(持续更新)
  5. ICLR 2020丨V4D:视频级别表示学习的四维卷积神经网络
  6. ICCV NAS Workshop 最佳论文提名:通过层级掩码实现高效神经网络架构搜索
  7. 视频理解新方向:时域语言定位 综述
  8. 墨子科技成果是计算机,祖国强起来!为2017年这些重大科技成果打call
  9. java中decrement,Java Math decrementExact()用法及代码示例
  10. 【OpenCV】OpenCV函数精讲之 -- addWeighted()函数(线性混合)