2017-10-21 15 views
0

私は「イオン・ワールド」に新たなんだと私は私のイオンアプリにこのプラグインを使用しようとしている:https://www.npmjs.com/package/cordova-plugin-imeiIonic 3でcordovaプラグインを使用するにはどうすればよいですか?

しかし、私は私のコントローラ上のプラグインを使用しようとすると、それが認識しませんプラグイン。ここではコードの一部です:

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();        
     } 
    ); 
} 

}

ラインcordova.plugins.permissionsが認識されていないwindow.plugins.imei.getが、私はアプリを実行しようとすると、I次のエラーが表示されます。

[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) { 

端末を使用してプラグインをインストールしましたが、機能しません。私は何が欠けていますか?前もって感謝します。

答えて

0

Ambient変数を宣言して使用します。例:

// 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!!"); 
      } 
     ); 
    } 
}; 
+0

変数を追加して、私の関数を変更しました。このエラーが発生しました:「ReferenceError:cordova is not defined」。私は質問に私のコードを更新するつもりです。 –

+0

はい、あなたが使用しているプラ​​グインがサポートしていないブラウザにイオンアプリをロードした場合、「コードバは定義されていないエラー」になります。 Apkをビルドし、モバイル上でアプリを実行してみてください。期待どおりに正常に動作するはずです。 –

関連する問題