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. .NET代码设计简单规范

    以下转载于:http://www.it28.cn/ASPNET/825095.html 下面这个规范是我为朋友写的几点建议,写的很范,作为BLOG,愿与大家一起分享.只给出部分设计规范样例,关于.NE ...

  2. 如何解决用CMake未定义引用`JNI_CreateJavaVM'?

    我需要从C ++运行Java,一般来说问题已经解决,但我的make系统或脚本出了问题,有一个创建JVM的C ++文件: #include <jni.h> #include <iost ...

  3. MVC与单元测试实践之健身网站(五)-系统信息、前台入口

    Fit项目停滞了一段时间,现在继续吧.上一篇完成了动作文本和配图的添加.编辑等内容.接下来要完成的是后台的最后一个模块:系统信息:以及前台的入口:关于注册.登录.修改密码等. 一 系统信息 a) 用户 ...

  4. Ubuntu18.04 安装mysql8.0.11

    1.下载deb包 2.运行命令 sudo dpkg -i mysql-apt-config_0.8.10-1_all.deb sudo apt update 3.安装mysql8 sudo apt i ...

  5. 性能测试—JMeter 常用元件(四)

    <零成本web性能测试>第三章 Web性能测试脚本录制与开发中JMeter常用测试元件 测试计划描述了JMeter运行时将会执行的一系列步骤,一个完整的测试计划包含一个或多个线程组.逻辑控 ...

  6. win10下解压版mysql-8.0.12安装教程

    内容转载于:https://blog.csdn.net/hust_hqq/article/details/80572133 在他之上添加了一个:服务名无效的解决方法 1.官网下载安装包 网址:http ...

  7. Linq2DB之研究和探索

    1,对linq2db使用看法 最近在研究linq2db,用起来还不错,性能还不错的.之前也在博客园有些网友说用ado.net和depper写SQL语句,性能还要高.有时候牺牲点性能,为了提高开发效率, ...

  8. January 18th, 2018 Week 03rd Thursday

    To strive, to seek, to find, and not to yield. 去奋斗,去寻觅,去探索,但绝不屈服. Strive for our dreams, seek the ve ...

  9. Instruments模板介绍(更新中...)

    第一章.Instruments(仪器)快速入门 Instruments可以用来收集关于一个或者多个系统进程的性能和行为的数据,并跟踪睡着时间产生的数据.它提供了好几个分析模板: Blank 任何类型都 ...

  10. deepin安装Oracle jdk8,以及添加add-apt-repository命令支持

    @font-face{ font-family:"Times New Roman"; } @font-face{ font-family:"宋体"; } p.M ...