4

Cordova を使用して Android 用のアプリケーションを開発しています。私は既に FileTransfer に精通しており、ファイルをダウンロードする方法も既に知っています。問題は、大きなファイル (20 MB) をダウンロードしているときに、実際に何かが起こっていることをユーザーに通知せずに、このダウンロードに時間がかかることです。

私が管理したのは、次の方法でファイルをSDカードにダウンロードすることだけです。

window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccess, fail);

次に、ファイルがダウンロードされていたことと、そのファイルを見つけることができる場所を示すダイアログをユーザーに表示します。しかし、私はユーザーに進行状況を知らせたいと思っています。または、このファイル転送をバックグラウンドで処理して、デフォルトのブラウザからファイルをダウンロードするときと同じように、Android のトップバーにダウンロード アイコンが表示されるようにすることはできますか?

助けてくれてありがとう。

コード:

document.addEventListener('deviceready', function() {                
    window.requestFileSystem  = window.requestFileSystem || window.webkitRequestFileSystem;
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, function(){
        console.log("error getting LocalFileSystem");
    });
}, false);

function gotFS(fileSystem) {
    // save the file system for later access
    window.rootFS = fileSystem.root;
}

fileTransfer.download(
    http://somewhere.com/bigfile.zip,
    window.rootFS,
    function(entry) {
        console.log("download complete: " + entry.fullPath);
    },
    function(error) {
        console.log("download error source " + error.source);
    },
);
4

1 に答える 1