である私は解決策を見つけた:私のミスは、プラットフォームがまだ準備ができていなかっただろうと、あまりにも早くFileTransferObjectを作成していました。私のコードは次のようなものだった:すべては、Androidを更新することで解決した、変数をFileTransferプラグインのバージョン1.7.0とAndroidのコンパイルの問題について
@Component({
selector: 'page-home',
templateUrl: 'home.html',
providers: [FileTransfer, File]
})
export class HomePage {
private fileTransfer: FileTransferObject;
...
...
constructor(public navCtrl: NavController, private transfer: FileTransfer, private file: File, private alertCtrl: AlertController, private platform: Platform) {
}
downloadFile() {
// using a local constant is also a valid alternative,
// the important thing is to instantiate the object at this time
// const fileTransfer: FileTransferObject = this.transfer.create();
this.fileTransfer = this.transfer.create();
:
@Component({
selector: 'page-home',
templateUrl: 'home.html',
providers: [FileTransfer, File]
})
export class HomePage {
private fileTransfer: FileTransferObject = this.transfer.create(); // <-- here is too soon to create it
...
これは代わりに右のそれを行う方法でありますスタジオ2.3.3からバージョン3.0.1へ。
完全な作業アプリはこちらです:https://github.com/andreabarani/TestFileTransferPlugin
本当に便利が、私は2つのノートを持っているわけではありません。 1.私はv1.6.3を使用しています。最近、v1.7.0でアプリケーションをビルドする際に問題が発生しました。 2.プラグインメソッドをplatform.ready()ステートメント内にラップします。 – JoeriShoeby
@JoeriShoeby:提案のためのtnxは、残念ながら解決しませんでした – andrea
@JoeriShoeby:私は問題を解決したので、私はあなたの提案が正しかったと思うので、私は "platform.ready()"ステートメントをプラグイン自体のインスタンスの作成ではありません。だからもう一度 – andrea