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

仍旧是不成功的.

这两种方法不成功的原因具体不是很清楚,怀疑命名空间不正确造成的。

参考文章:

1.ionic2 如何使用自定义插件

2.Using Cordova Plugins in Ionic 2 with Ionic Native

3.Ionic and Typings

Ionic2 调用Custom Cordova Plugin方法的更多相关文章

  1. ionic2 调用 cordova非本地化native 插件方法

    1,在项目中添加你的插件     cordova plugin add puginId|puginName|puginUrl|puginPath 2,查看插件clobbers标记 打开项目目录plug ...

  2. Cordova plugin

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010106153/article/details/53418528Cordova plugin工程 ...

  3. [Cordova] Plugin开发入门

    [Cordova] Plugin开发入门 Overview Cordova的设计概念,是在APP上透过Web控件来呈现Web页面,让Web开发人员可以操作熟悉的语言.工具来开发APP.使用Web页面来 ...

  4. cordova plugin数据传递概要

    cordova plugin数据传递概要: 1.调用pluginManager向所有插件发送消息: PluginManager.postMessage(String id, Object data); ...

  5. Ionic2 调用自定义插件之研究

    cordova机制我在此就不提了,我们使用Typescript调用cordova plugin就如同调用第三方库是一个道理,那么这里就少不了书写declare文件,下面我就把几种封装调用的几种方式介绍 ...

  6. [Cordova] Plugin里使用iOS Framework

    [Cordova] Plugin里使用iOS Framework 前言 开发Cordova Plugin的时候,在Native Code里使用第三方Library,除了可以加速项目的时程.也避免了重复 ...

  7. ionic cordova plugin simple demo

    要用cordova plugin 的话还是需要设置一下的 1. 下载 ng-cordova.js download the zip file here 2. 在index.html 中引用 (cord ...

  8. 在meteor中如何使用ionic组件tabs,及如何添加使用cordova plugin inappbrower

    更新框架: meteor update meteor框架的优点不言而喻,它大大减轻了App前后端开发的负担,今年5月又获得B轮2000万融资,代表了市场对它一个免费.开源开发框架的肯定.cordova ...

  9. cordova plugin汇总大全

    1.获取当前应用的版本号 cordova plugin add cordova-plugin-app-version 2.获取网络连接信息 cordova plugin add cordova-plu ...

随机推荐

  1. 超级干货 :一文读懂数据可视化 ZT

    前言 数据可视化,是指将相对晦涩的的数据通过可视的.交互的方式进行展示,从而形象.直观地表达数据蕴含的信息和规律. 早期的数据可视化作为咨询机构.金融企业的专业工具,其应用领域较为单一,应用形态较为保 ...

  2. OpenCV 填充(ROI)+模糊操作

    1.ROI 操作 src = cv.imread('./1.jpg') cv.imshow('src',src) dst = src[40:240,100:300] gray = cv.cvtColo ...

  3. JavaWeb:Listener和Filter

    本文内容: Listener Filter 首发日期:2018-07-15 Listener 监听器Listener负责监听事件的发生.我们能在事件发生后执行一些自定义的操作,这就是监听器的意义. 监 ...

  4. 表单元素的required,autocomplete,list用法

    required: 当在一个表单元素如:input中加上required属性时,点击提交表单按钮,针对input会弹出一个默认的警告信息,如下图: 代码如下: <form id="my ...

  5. persist与checkpoint

    1.当反复使用某些RDD时建议使用persist(缓存级别)(采用默认缓存级别时为cache())来对数据进行缓存. 2.如果某个步骤的RDD计算特别耗时或经历很多步骤的计算,当重新计算时代价特别大, ...

  6. 适用于 Azure 虚拟网络的常见 PowerShell 命令

    如果想要创建虚拟机,需要创建虚拟网络或了解可在其中添加 VM 的现有虚拟网络. 通常情况下,创建 VM 时,还需考虑创建本文所述资源. 有关安装最新版 Azure PowerShell.选择订阅和登录 ...

  7. SQL Server 中的回滚

    USE [TestDB] GO /****** 对象: Table [dbo].[Person] 脚本日期: 11/23/2008 13:37:48 ******/ SET ANSI_NULLS ON ...

  8. jQuery搜索框自动补全功能插件实现-autocomplete.js

    最近用nodeclub实现股票的输入关键字自动补全股票信息进行搜索功能,原先用jQuery-ui,结果jQuery-ui库太大,所以考虑用其他插件,最终选择使用autocomplete.js,控件简单 ...

  9. VMware虚拟机中CentOS 7的硬盘空间扩容

    查看centos7系统挂载点信息 扩展VMWare-centos7硬盘空间 对新增加的硬盘进行分区.格式化 添加新LVM到已有的LVM组,实现扩容 1.查看centos7系统挂载点信息 df -h查看 ...

  10. tcpdump抓包具体分析

    Tcpdump抓包分析过程   一.TCP连接建立(三次握手) 过程 客户端A,服务器B,初始序号seq,确认号ack 初始状态:B处于监听状态,A处于打开状态 A -> B : seq = x ...