2016-11-30 24 views
0

林ionic2母語ionic2本地FileOpener在使用FileOpener的Android

文件here

這是我的代碼:

import { Component } from '@angular/core'; 
import { NavController } from 'ionic-angular'; 
import { FileOpener } from 'ionic-native'; 

@Component({ 
    selector: 'page-installHelper', 
    templateUrl: 'installHelper.html' 
}) 
export class InstallHelper { 

    constructor(public navCtrl: NavController, public fo: FileOpener) { 
     fo.open('/assets/app.apk', 'application/vnd.android.package-archive'); 
    } 

} 

,但它給出了一個錯誤說:Property 'open' does not exist on type 'FileOpener'.

我想從我的應用程序打開一個apk文件。

回答

1

使用本機組件時,不要將其分配給構造函數。

所以,你的代碼應該是這樣的:

import { Component } from '@angular/core'; 
import { NavController } from 'ionic-angular'; 
import { FileOpener } from 'ionic-native'; 

@Component({ 
    selector: 'page-installHelper', 
    templateUrl: 'installHelper.html' 
}) 
export class InstallHelper { 

    constructor(public navCtrl: NavController) { 
     FileOpener.open('/assets/app.apk', 'application/vnd.android.package-archive', 
     { 
      error : (e)=> {console.log('Error status: ' + e.status + ' - Error message: ' + e.message);}, 
      success :()=> {console.log('file opened successfully');} 
     }); 
    } 

} 
+0

哦謝謝你這麼多...我來試試。 – ADiL

+0

OPSS我得到這個錯誤: 1 038429錯誤異常:未捕獲(在承諾):對象的對象] 2 038438錯誤ORIGINAL堆棧跟蹤: 3 038443錯誤錯誤:未捕獲(在承諾):對象的對象] 在s (http://192.168.1.37:8100/build/polyfills.js:3:8568) at http://192.168.1.37:8100/build/polyfills.js:3:8318 at Object.cordova.callbackFromNative( http://192.168.1.37:8100/cordova.js:295:52) – ADiL

+0

at processMessage(http://192.168.1.37:8100/cordova.js:1119:17) at processMessages(http://192.168。 1.37:8100/cordova.js:1142:9) at t.invoke(http://192.168.1.37:8100/build/polyfills.js:3:13422) at Object.inner.inner.fork.onInvoke( HTTP:/ /192.168.1.37:8100/build/main.js:3:25181) at t.invoke(http://192.168.1.37:8100/build/polyfills.js:3:13373) at e.run(http ://192.168.1.37:8100/build/polyfills.js:3:10809) at http://192.168.1.37:8100/build/polyfills.js:3:8911 – ADiL