Ionic2 调用Custom Cordova Plugin方法
APP升级到Ionic2之后,如何调用自己写的pulgin,一直测试不成功,现记录这一经过。
plugin目前可以分为3类,A类是ionic-native自带的,可以直接导入Typescript类,直接使用,比较简单易用,目前插件大部分是这一类。
B类是纯js库类,具体的使用方法可以参考这个官方文档,目前还没有遇见这种情况,等遇见了再来记录。
C类是我们自己写的cordova plugin,一般都是用在Ionic1版本中的,问题由此产生,在ionic2中是如何应用的呢?
方法步骤:
1.和ionic1的方法一样,我们使用之前所开发的插件,将自己写的plugin加载到我们的ionic2项目中来,还是安装在plugins目录下,没有变。
2.在要使用的ts类中,调用插件方法即可
upgradeApp()
{
let url ="yourUrl";
(<any>window).plugins.appUpgrade.downLoad(url,(success) => { console.log(success); },(err) => { } );
}
3.打包apk,安装测试,成功调用接口并下载下来apk.
测试过不成功的两种方法如下:
声明cordoval变量:
import { Component } from '@angular/core';
import { NavController,AlertController,LoadingController } from 'ionic-angular';
import { LoginPage } from '../login/login';
import { CommonService } from '../../providers/baseService/CommonService';
import { AppVersion } from 'ionic-native';
declare var cordova:any;
@Component(
{
selector: 'page-about',
templateUrl: 'about.html'
})
方法中调用
upgradeApp()
{
let url ="yourUrl";
if (typeof cordova !== 'undefined')
{
cordova.plugins.appUpgrade.downLoad(url,(success) => { console.log(success); },(err) => { } );
}
else
{
//do nothing
}
}
可以成功打包生成apk,但是接口没有反应,无法下载url对应的apk.
第二种不成功的方法大同小异,只是将声明的变量改为自己的插件名appUpgrade.
import { Component } from '@angular/core';
import { NavController,AlertController,LoadingController } from 'ionic-angular';
import { LoginPage } from '../login/login';
import { CommonService } from '../../providers/baseService/CommonService';
import { AppVersion } from 'ionic-native';
declare var appUpgrade:any;
@Component(
{
selector: 'page-about',
templateUrl: 'about.html'
})
upgradeApp()
{
let url ="yourUrl";
appUpgrade.downLoad(url,(success) => { console.log(success); },(err) => { } );
}
仍旧是不成功的.
这两种方法不成功的原因具体不是很清楚,怀疑命名空间不正确造成的。
参考文章:
2.Using Cordova Plugins in Ionic 2 with Ionic Native
Ionic2 调用Custom Cordova Plugin方法的更多相关文章
- ionic2 调用 cordova非本地化native 插件方法
1,在项目中添加你的插件 cordova plugin add puginId|puginName|puginUrl|puginPath 2,查看插件clobbers标记 打开项目目录plug ...
- Cordova plugin
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010106153/article/details/53418528Cordova plugin工程 ...
- [Cordova] Plugin开发入门
[Cordova] Plugin开发入门 Overview Cordova的设计概念,是在APP上透过Web控件来呈现Web页面,让Web开发人员可以操作熟悉的语言.工具来开发APP.使用Web页面来 ...
- cordova plugin数据传递概要
cordova plugin数据传递概要: 1.调用pluginManager向所有插件发送消息: PluginManager.postMessage(String id, Object data); ...
- Ionic2 调用自定义插件之研究
cordova机制我在此就不提了,我们使用Typescript调用cordova plugin就如同调用第三方库是一个道理,那么这里就少不了书写declare文件,下面我就把几种封装调用的几种方式介绍 ...
- [Cordova] Plugin里使用iOS Framework
[Cordova] Plugin里使用iOS Framework 前言 开发Cordova Plugin的时候,在Native Code里使用第三方Library,除了可以加速项目的时程.也避免了重复 ...
- ionic cordova plugin simple demo
要用cordova plugin 的话还是需要设置一下的 1. 下载 ng-cordova.js download the zip file here 2. 在index.html 中引用 (cord ...
- 在meteor中如何使用ionic组件tabs,及如何添加使用cordova plugin inappbrower
更新框架: meteor update meteor框架的优点不言而喻,它大大减轻了App前后端开发的负担,今年5月又获得B轮2000万融资,代表了市场对它一个免费.开源开发框架的肯定.cordova ...
- cordova plugin汇总大全
1.获取当前应用的版本号 cordova plugin add cordova-plugin-app-version 2.获取网络连接信息 cordova plugin add cordova-plu ...
随机推荐
- ImageButton和ImageView设置点击透明区域不响应
思路 ImageView和ImageButton都可以设置background和设置src,两者的区别自行度娘.由于两者的不同,获取它们的图片资源的方法也不同.倘若设置的是background,那么需 ...
- python爬虫之Beautifulsoup学习笔记
相关内容: 什么是beautifulsoup bs4的使用 导入模块 选择使用解析器 使用标签名查找 使用find\find_all查找 使用select查找 首发时间:2018-03-02 00:1 ...
- python常用模块之pickle
python1个json模块和1个pickle模块都是用于序列化的模块. 其中前文介绍过json模块.json模块只能序列化普通字符,比如字典.列表等.但是如果是函数呢?json其实是无法序列化的.这 ...
- Linux下内存查看命令
在Linux下面,我们常用top命令来查看系统进程,top也能显示系统内存.我们常用的Linux下查看内容的专用工具是free命令. Linux下内存查看命令free详解: 在Linux下查看内存我们 ...
- Spring系列(1)--IOC 和 DI
IOC 和 DI IOC 原理 xml 配置文件配置 bean dom4j 读取配置文件 工厂设计模式 反射机制创建对象 applicationContext.xml 配置文件,该配置文件名可自定义: ...
- 阿里八八β阶段Scrum(5/5)
今日进度 陈裕鹏: 简单信息抽取编码完成 叶文滔: 处理了信息抽取编码的一些BUG,修复了日程界面不会自动更新添加的日程的BUG,修改了原先测试用的TAG以及数据分析部分数据计算数值错误的问题 王国超 ...
- golang的reflection(转)
作者:BGbiao 链接:https://www.jianshu.com/p/42c19f88df6c 來源:简书 反射reflection 可以大大提高程序的灵活性,使得interface{}有更大 ...
- jeDeta 日历控件的那些坑
经过亲自测试 jeDeta 发现 jeDeta 还是有坑的: 1.参数 options 里面的 format 有很多种格式 API 里面写的是 format: 'YYYY-MM-DD hh:mm:ss ...
- mysql 拒绝访问的解决办法
java.sql.SQLException: null, message from server: "Host 'xxx' is not allowed to connect to thi ...
- 描述各自页面的 page
一个小程序页面由四个文件组成(注意:为了方便开发者减少配置项,描述页面的四个文件必须具有相同的路径与文件名).分别是: 页面 Page(JS文件) Page(Object) 函数用来注册一个页面.接受 ...