cordova 插件开发

  • 创建插件
# npm install -g plugman
npm install -g plugman

# plugman create --name <pluginName> --plugin_id <pluginId> --        plugin_version 1.0.0

# plugin id用点号分隔
plugman create --name PluginDemo --plugin_id cordova.plugin.plugindemo --plugin_version 1.0.0

cd PluginDemo/
plugman platform add --platform_name android

plugman createpackagejson .

#push to github: https://github.com/eddyshn/cordova-plugin-demo.git
  • 测试工程
ionic start blankApp blank

ionic cordova platform add android

ionic cordova plugin add https://github.com/eddyshn/cordova-plugin-demo.git
  • 调用插件
nativeToast(){
    (window as any).cordova.plugins.PluginDemo.coolMethod(this.inputValue, (x) => {
      console.log(x);
    }, (x) => {
      console.log(x);
    });
  }

在这里插入图片描述

中以看到cordova plugin 是attach 到window上的, exports.coolMethod的命名空间来源于

在这里插入图片描述

  • 封装插件便于调用

    import { Injectable } from '@angular/core';
    import { Observable, Observer } from 'rxjs';
    
    @Injectable({
        providedIn: 'root'
    })
    
    export class PluginDemo {
        coolMethod(arg0) {
            return new Observable(subscriber  => {
                (window as any).cordova.plugins.PluginDemo.coolMethod(arg0,
                    (data: any) => {
                        subscriber .next(data);
                        subscriber .complete();
                    },
                    (error: any) => {
                        subscriber .error(error);
                    }
                );
            });
        }
    }
    
  • github demo

    https://github.com/eddyshn/cordova-plugin-demo.git

    https://github.com/eddyshn/kb-code/tree/main/cordova/plugin-test-app

  • 参考资料

    https://cordova.apache.org/docs/en/latest/guide/hybrid/plugins/index.html

    https://medium.com/@durgavundavalli/ionic5-cordova-custom-plugin-for-objective-c-e4e82c5fbc3b

    https://medium.com/@durgavundavalli/cordova-create-a-native-wrapper-with-ionic-native-d88fbc6742a2

    https://www.youtube.com/watch?v=Q6PaFEDonac&t=665s

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值