7

ファイルをダウンロードして data フォルダーに保存するための Cordova プラグインを作成しました。戻り値を除いて、すべて正常に動作しています。進行状況バーを表示したいのですが、現在の進行状況を取得する必要があります。私のコードの関連部分は次のとおりです。

 while ((readed = is.read(buffer)) > 0) {
     fos.write(buffer, 0, readed);
     totalReaded += readed;

     int newProgress = (int) (totalReaded*100/fileSize);
     if (newProgress != progress) {
         progress = newProgress;
         PluginResult res = new PluginResult(PluginResult.Status.OK, progress);
         res.setKeepCallback(true);
         callbackContext.sendPluginResult(res);
     }
  }

私のJavaScript:

downloader.prototype.writeFile = function (downloaderSuccess, downloaderFailure, options) {
    cordova.exec(downloaderSuccess, downloaderFailure, "downloader", "writeFile", options);
};

function downloaderSuccess(progress) {
    WL.Logger.debug("Result: "+progress)
}

function downloaderFailure(error) {
    WL.Logger.error("Error: "+error);
}

進行状況は、ファイルがダウンロードされたにのみ出力されます。PluginResult.Status を NO_RESULT に設定すると、何も出力されません。

4

1 に答える 1