简体   繁体   English

如何在Ionic 3上使用cordova插件?

[英]How Can I Use cordova plugins on Ionic 3?

I'm new on the "Ionic World" and I'm trying to use this plugin on my Ionic app: https://www.npmjs.com/package/cordova-plugin-imei 我是“ Ionic World”的新手,我想在我的Ionic应用程序上使用此插件: https : //www.npmjs.com/package/cordova-plugin-imei

However, when I try to use the plugin on my controller, it doesn't recognize the plugin. 但是,当我尝试在控制器上使用插件时,它无法识别该插件。 Here's the piece of code: 这是一段代码:

  obterIMEI(){
var permissions = cordova.plugins.permissions;
var imei = cordova.plugins.imei;
permissions.requestPermission(permissions.READ_PHONE_STATE, success, error);
function error() {
  this.msgOptions.message = 'Não há permissões para acessar o IMEI!';
  this.msg.create(this.msgOptions).present();      
}
function success(status) {
    imei.get(
        function (imei) {
          console.log('worked');
          this.imei = imei;
        },
        function () {
          console.log('error');
          this.msgOptions.message = 'Erro ao acessar o IMEI!';
          this.msg.create(this.msgOptions).present();                            
        }
    );
}  

} }

The lines cordova.plugins.permissions and window.plugins.imei.get are not recognized and when I try to run the app, I get the following error: 无法识别cordova.plugins.permissionswindow.plugins.imei.get行,当我尝试运行该应用程序时,出现以下错误:

[10:20:54]  typescript: src/pages/imei/imei.ts, line: 27
        Cannot find name 'cordova'.

  L26:  obterIMEI(){
  L27:    var permissions = cordova.plugins.permissions;
  L28:    permissions.requestPermission(permissions.READ_PHONE_STATE, success, error);

[10:20:54]  typescript: src/pages/imei/imei.ts, line: 35
        Property 'plugins' does not exist on type 'Window'.

  L34:  function success(status) {
  L35:      window.plugins.imei.get(
  L36:          function (imei) {

I already installed the plugin using the terminal but it doesn't work. 我已经使用终端安装了插件,但无法正常工作。 What am I missing? 我想念什么? Thanks in advance. 提前致谢。

Declare a Ambient variable and use it. 声明一个环境变量并使用它。 Example : 范例:

// Global ambient variable
declare var cordova: any;

function buscarImei() {
    var permissions = cordova.plugins.permissions;
    var imei = cordova.plugins.imei;
    permissions.requestPermission(permissions.READ_PHONE_STATE, success, error);
    function error() {
        alertify.error("Sem Permissão para a busca  de IMEI!");
    }
    function success(status) {
        imei.get(
            function (imei) {
                // NOTE : This is Ionic 1 syntax. You need to check for accessing in Ionic 2/3 ( Scope variable depreciated from ionic 2 onwards ) 
                $scope.config.imei = imei;
            },
            function () {
                alertify.error("Erro ao carregar IMEI!!");
            }
        );
    }
};

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM