2012-08-14 40 views
0

我的PhoneGap-App for Android下載的文件出現問題。 download-Function from PhoneGap實際上工作得很好,我認爲。它從URL獲取文件並將其存儲在SD卡上。 (代碼如下)在Android中使用PhoneGap下載後無法在gallerie中找到文件

那麼問題在哪裏?當我將JPG或PNG下載到 下載文件夾時,我希望通過本地圖庫訪問它。 但畫面不會出現在畫廊。要看到它,我必須 重新啓動手機或我必須使用另一個應用程序,如Astro。

有沒有「Refresh_the_native_Gallerie」功能或類似的東西?

非常感謝。

try { 
    var filePath = 'file:///mnt/sdcard/Download/google.png'; // Correct filePath 
    var url = "https://www.google.de/images/srpr/logo3w.png"; //Correct URL 

    var fileTransfer = new FileTransfer(); 

    fileTransfer.download(url, filePath, function(entry) { 
     console.log("s3_download download complete: " + entry. 
     // Do i need a "Refresh_all_other_Apps"-function here? 
    }, function(error) { 
    // Normally no Error 
     console.log("s3_download download error source " + error.source); 
     console.log("s3_download download error target " + error.target); 
     console.log("s3_download download error code" + error.code); 
    }); 
} catch (e) { 
    console.log("downloadTest ERROR: " + e); 
} 

不能回答我的問題這麼快只能編輯我的問題。所以這裏是答案:

我寫了一個小小的PhoneGap-Plugin,它實際上只不過是從zapl調用代碼罷了。再次感謝。希望它能幫助有同樣問題的人。

您可以在這裏找到代碼:https://github.com/philipp-at-greenqloud/pluginRefreshMedia

回答

4

我不知道是否可以幫助你在PhoneGap的/ JavaScript的背景:

你的問題是,畫廊將只顯示在該索引的文件設備媒體數據庫。只需將文件添加到文件系統中就不會自動將其添加到該數據庫。幾乎所有的數據庫重新掃描/更新都是在重新啓動設備或重新安裝SD卡之後(在與PC共享之後或者將其彈出並重新放入後)。

要將文件添加到數據庫,最簡單的方法是將Intent#ACTION_MEDIA_SCANNER_SCAN_FILE發送到MediaScanner以讓它將文件添加到數據庫。一旦完成,該文件將顯示在畫廊中。

爲Java代碼將

File newImage = new File("/mnt/sdcard/Download/google.png"); 
Intent scanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE); 
scanIntent.setData(Uri.fromFile(newImage)); 
sendBroadcast(scanIntent); 
+0

@zapi說的是100%正確的。在PG中,我們需要添加到插件庫插件來添加您正在尋找的功能。 – 2012-08-14 15:58:30

+0

是的,它幫助我:)我現在要創建一個插件。謝謝你們倆。 – kruemelnerd 2012-08-14 16:14:55

0

這是一個很好的插件需要。我一直在試圖解決這個問題,插件工作。我正在考慮自己開發一個,但你做得很好。我的頭痛現在正在消退。這對我有用。

+0

不錯。我很高興它幫助你:)如果你發現錯誤,請讓我知道:) – kruemelnerd 2012-08-28 14:32:50

相關問題