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 ...
随机推荐
- ArcGIS Arcade
ArcGIS Arcade http://127.0.0.1/Resource/JavaScript/arcgis_js_api/sdk/4.10/latest/guide/arcade/index. ...
- 排错-安装SQl 2008“为SQL Server代理服务提供的凭据无效的解决方法
安装SQl 2008“为SQL Server代理服务提供的凭据无效的解决方法 by:授客 QQ:1033553122 在Windows Server 2008安装SQL Server 2008出现的问 ...
- IDEA报错: Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'spring.datasource.url' in value "${spring.datasource.url}"
运行审核流模块: 在ActivitiServiceApplication模块日志报错: Error starting ApplicationContext. To display the auto-c ...
- 我的博客:C# PHP J2ee Java Android js WP Asp.net mvc Python
<p><A target="_blank" href="http://blog.163.com/hr_company_product/" &g ...
- 安装mysql(macos系统)
1.到官网下载,直接百度"mysql"即可找到 2.双击安装包,一路安装即可 3.然后进到系统设置 4.接下来 输入coho的用户密码 设置root用户的密码 切换root用户,v ...
- fedora 使用 vnc 远程 fedora 28 主机
问题重述: 最近环境中需要使用 fedora 28 来进行远程桌面,于是就重新配置了一下vnc 在这里面做一下记录. 过程: yum 安装: 工作机上安装 vncviewer 远程主机上安装: vnc ...
- 使用虚拟环境virtualenv/Virtualenvwrapper隔离多个python
virtualenv 系统中的多个python混用会导致$PYTHONPATH混乱,或者各个工程对于package的版本要求不同等等情况.有一个简单的解决方案就是用virtualenv来隔离多个pyt ...
- .NET 序列化成XML, 并且格式化
现有Person类: [Serializable] public class Person { public string Name; public string Info; public Perso ...
- 薛兆丰吴军何帆曾鸣万维刚李笑来罗永浩等得到APP专栏作者的书23本
最近看了何帆的<大局观>,是他在得到APP的专栏文章的精选.顺便整理以下最近两三年内看过的得到APP其他专栏与课程作者的得到精选文集和他们写过的其他的书共23本. 薛兆丰 4星|<薛 ...
- 描述各自页面的 page
一个小程序页面由四个文件组成(注意:为了方便开发者减少配置项,描述页面的四个文件必须具有相同的路径与文件名).分别是: 页面 Page(JS文件) Page(Object) 函数用来注册一个页面.接受 ...