Ionic2使用第三方cordova插件(非Ionic2官方支持的native cordova插件)

Ionic2官方提供了丰富的native cordova插件,比如:Camera、Device等等,使用方式也很简单:

1、添加插件支持:ionic plugin add cordova-plugin-device;

2、在页面ts文件中声明: import { Device } from ‘ionic-native‘;

3、在相关方法中调用:

getDeviceInfo(){

  console.log(‘Device UUID is: ‘ + Device.uuid);

}

Ionic2native组件虽然丰富,但是实际开发过程中,我们总是会遇到使用非官方支持cordova组件的情况,比如:微信支付、支付宝等。

以一个获取本机IP地址的cordova插件为例,简单讲解一下非官方支持的cordova插件的用法:

1、添加插件:ionic plugin add cordova-plugin-networkinterface;

2、打开插件配置文件的my-iconic2-project\plugins\cordova-plugin-networkinterface\config.xml:

.....

<js-module src="www/networkinterface.js" name="networkinterface">
  <clobbers target="window.networkinterface" />
</js-module>

......

可以看到该插件的target为window.networkinterface,所以,在app运行期该插件对象应该声明并绑定在window对象上。那么,我们使用此类插件的方式应该为:

index.ts:

import { Component } from ‘@angular/core‘;
import { NavController, NavParams } from ‘ionic-angular‘;

declare var networkinterface: any;

@Component({
selector: ‘page-index‘,
templateUrl: ‘index.html‘
})
export class IndexPage {

constructor(public navCtrl: NavController, public navParams: NavParams) {}

  ionViewDidLoad() {
    console.log(‘ionViewDidLoad IndexPage‘);
  }

  getIPAddress(){

    if(‘undefined‘ != typeof networkinterface){
      networkinterface.getIPAddress(function(ip){
        alert(ip);
      });

    }

  }

}

不过我还看到stackoverflow有一种实现方式:

declare var cordova: any;

....

getIPAddress(){

  if(‘undefined‘ != typeof cordova){

    cordova.plugins.networkinterface.getIPAddress(function(ip){

      alert(ip);

    });

  }

}

我认为这种方式,使用config.xml为如下形式的cordova插件:

.....

<js-module src="www/networkinterface.js" name="networkinterface">
  <clobbers target="cordova.plugins.networkinterface" />
</js-module>

......

不过由于时间原因,我并没有去验证。

另外: 测试要在模拟器或者手机环境。

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff }
span.s1 { }
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff }
span.s1 { }

时间: 2024-10-01 03:05:58

Ionic2使用第三方cordova插件(非Ionic2官方支持的native cordova插件)的相关文章

Cordova - 彻底搞定安卓中的微信支付插件!

你看到这个标题肯定会惊讶,一个Cordova的微信支付插件,有这么夸张吗?信不信由你,我相信,最终你会回来看这篇文章的! 一,不要使用的微信支付插件:https://github.com/xu-li/cordova-plugin-wechat 上面的插件,是目前大家在网上搜索文章时候,推荐最多的插件,但是,插件开发者,已经不再维护这个插件了,从最新版插件的代码看,确实是那样,其中从2.1.0开始的bug,到了最终的2.3.0也没有修复,而且还增加了bug!如果你不相信我的话,真的想使用上面这个插

WordPress官方推荐的代码高亮插件

今天花了大半天的时间,终于选择好自己心仪的wordpress代码高亮插件,同时它也是wordpress官方推荐的代码语法高亮插件.在选择的过程中,我对比和试用了若干个代码高亮wordpress插件,包括有国人开发的wp-codebox.codecolorer.wp-syntax等,但这些插件不是很久没有更新和最新的wordpress不兼容导致安装不上,就是功能无法满足我的要求.直到我在wordpress官方网站支持文档里看到了我要的效果,以及在文章最后找到了wordpress推荐的代码高亮插件.

如何看待 Kotlin 成为 Android 官方支持开发语言?

"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 如何看待 Kotlin 成为 Android 官方支持开发语言? - Thinkblog - 博客频道 - CSDN.NET Thinkblog 爱编程,爱分享,不仅限于技术. 目录视图 摘要视图 订阅 [活动]2017 CSDN博客专栏评选 &nbsp [5月书讯]

试图使用未在此报表服务器中注册或此版 Reporting Services 不支持的数据扩展插件“Devart.Data.PostgreSql”

数据源用的是Postgresql 我在Deploy Report的时候出现这条ErrorMessage Error 2 试图使用未在此报表服务器中注册或此版 Reporting Services 不支持的数据扩展插件“Devart.Data.PostgreSql”. 解决方案: SQL Server安装路径\MSRS10_50.***\Reporting Services\ReportServer\rsreportserver.config里面加下面这个节点然后重启Sql server就好了<E

火狐不支持backgroundPosition的js插件

用js backgroundPositionX,backgroundPositionY设置在firefox下无法识别,用backgroundPosition同样在火狐无法识别.要识别只能用js插件来实现的,代码如下: /** * @author Alexander Farkas * v. 1.02 */ (function($) { $.extend($.fx.step,{ backgroundPosition: function(fx) { if (fx.state === 0 && t

基于jQuery的让非HTML5浏览器支持placeholder属性的代码(转)

效果图:http://code.google.com/p/jquery-placeholder-js/ 演示代码:http://demo.jb51.net/js/2011/jqueryplaceholder/打包下载:http://xiazai.jb51.net/201105/yuanma/jqueryplaceholder.rar 基于jQuery的让非HTML5浏览器支持placeholder属性的代码(转),布布扣,bubuko.com

Oracle 11g 的官方支持周期和时限

Oracle公司对于自身产品的支持策略大多数人很难搞清楚,对于Oracle Database 11g的支持周期,有很多朋友产生了异议,参考下文提到的一些文件,希望可以帮助大家理解Oracle的产品支持策略. 在MOS支持站点中Note 742060.1记录了详细的信息,下图清晰的标识了Oracle数据库产品当前的支持策略和周期. 注意图示中红色代表版本序列,ES为扩展支持期,有免费期和付费期(但是前提是必须有买基本服务才能进入扩展支持期),绿色代表小版本Patch信息,而每个Patch的终点即是

一款 jetbrains系列软件的配色插件 Material Theme, 支持sublime

一款 jetbrains系列软件的配色插件 Material Theme, 支持sublime, stom Atom Editor IntelliJ IDEA Vim Terminal OSX https://github.com/ChrisRM/material-theme-jetbrain https://packagecontrol.io/packages/Material Theme

微软智能云Azure – 中国首家官方支持CoreOS的公有云

北京2016年6月24日, 在由中国开源软件推进联盟(COPU)主办, 开源社协办,微软赞助的"第十一届开源中国开源世界高峰论坛"上,微软亚太研发集团云计算高级总监梁戈碧女士正式对外宣布一个令人振奋的消息:CoreOS Linux 开源版本正式向中国地区提供服务, 微软智能云Azure成为第一个在中国官方支持CoreOS Linux的公有云! 倪光南院士高峰论坛上作开幕致辞 国内的用户们现在可以通过微软智能云Azure使用安全.自动的CoreOS Linux 升级服务,体验这个专为容器