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);
}
转载于:https://www.cnblogs.com/robertsun/p/5209635.html
Cordova自定义插件相关推荐
- cordova自定义android插件,Cordova 自定义插件(Android版本)
Cordova 自定义插件(android) 特别注意 android 项目的包名 必须为 com.example.hello,否则编译不会通过. 1.安装命令工具 $ npm i plugman - ...
- ionic2/cordova自定义插件集成aar包
一.准备自定义插件 1. 准备:安装plugman npm install -g plugman 2. 新建组件 plugman create --name MyPlugin --plugin_id ...
- phonegap(cordova) 自定义插件代码篇(三)----支付宝支付工具整合
建议读者,先阅读官方文档,知晓其支付流程之后再来使用此代码,比如客户需要做什么,服务端需要做什么(很重要!很重要!很重要!),因为这几个篇幅都是纯代码篇,因为阅读前面的入门篇之后看这些应该毫无问题才对 ...
- Cordova应用的JavaScript代码和自定义插件代码的调试
我之前写过三篇Cordova相关的技术文章.当我们使用Cordova将自己开发的前端应用打包安装到手机上后,可能会遇到需要调试Cordova应用的时候. 本文就介绍Cordova应用的调试步骤. 如果 ...
- cordova开发插件,并在android studio中开发、调试
之前用过cordova Lib包装H5页面,自己写插件,但做法是野路子,不符合cordova插件的开发思路,这次项目又需要包装H5页面,同时需要自定义插件.所以又折腾了一次cordova自定义插件. ...
- Cordova学习--iOS自定义插件
上一篇文章中我们已经成功创建了一个App,在这一篇中,我们实现自定义原生插件,由js调用原生插件.在这里我们实现功能如下 一.创建插件文件 在plugins文件夹下创建插件EchoPlugin,继承自 ...
- 超详细手把手教你cordova开发使用指南+自定义插件,jsbridge
Cordova是什么 使用前端技术 开发跨平台web App的工具 底层原理:HTML+CSS搭建页面, JS和原生交互 交互原理:Cordova插件 环境配置 安卓开发基础环境搭建的文章可以参考一下 ...
- ionic4自定义插件
安装插件 npm install -g plugman 创建插件 plugman create --name TestPlugin --plugin_id com.plugin.testPlugin ...
- Ionic初学之Ionic3(Cordova)插件制作与添加
现在制作APP都流行混合开发,Ionic是个不错的选择,但是很多原生的功能,混合开发是无法实现的,这时候就要根据功能来制作Cordova插件来实现,下面就记录第一次制作Cordova插件的步骤和遇到的 ...
最新文章
- springboot自动装配原理笔记一
- JS Array.reduce 实现 Array.map 和 Array.filter
- 计算机未识别网络什么意思,win7 64位系统提示当前连接到未识别的网络怎么办...
- JSP/Servlet Web 学习笔记 DayFour —— 实现一个简单的JSP/Servlet交互
- mysql中如何删除多个表格_mysql怎么批量删除多个表?
- Express 极速掌握
- 晶振两端的谐振电容有特殊要求吗_干货 | 晶振电路设计诀窍
- angular 设置接口调用地址_[译] 关于 Angular 的变化检测,你需要知道的一切
- 20155337 《网络对抗》 Exp2 后门原理与实践
- python基础快速入门day01
- 关于树叶的活动设计_悦趣课堂、教学相长 ——济南市天桥区金色悦城幼儿园公开课活动纪实...
- 8位单片机003兼容替换意法半导体STM8S003F3P6
- 插桩java_字节码插桩技术
- 数电Day06:主从触发器和边沿触发器,触发器的逻辑符号,时序波形
- win10无法打开匿名级安全令牌_无法打开匿名级安全令牌
- c++课程设计图书馆管理系统总结
- chrome浏览器加载图片失败问题
- 【博学谷学习记录】超强总结,用心分享 | shell基础
- 【Python】阿里云对象存储OSS图床上传图片
- SpringCloud版本Hoxton SR5 --- 第七讲:SpringCloud Config 分布式配置中心+整合bus、rabbitmq、actuator
热门文章
- Debugging with GDB (6) gdb 命令
- 邮件营销的三个基本要素讲解
- AppLoader发布
- 2021 最新CV综述分类汇总(持续更新)
- ICLR 2020丨V4D:视频级别表示学习的四维卷积神经网络
- ICCV NAS Workshop 最佳论文提名:通过层级掩码实现高效神经网络架构搜索
- 视频理解新方向:时域语言定位 综述
- 墨子科技成果是计算机,祖国强起来!为2017年这些重大科技成果打call
- java中decrement,Java Math decrementExact()用法及代码示例
- 【OpenCV】OpenCV函数精讲之 -- addWeighted()函数(线性混合)