在Android中使用PhoneGap下载后无法在画廊中找到文件

kru*_*erd 0 javascript android download cordova

我的PhoneGap-App for Android中的下载文件有问题.我认为PhoneGap下载功能实际上运行得很好.它从URL获取文件并将其存储在SD卡上.(代码如下)

那么问题出在哪里?当我将JPG或PNG下载到Download-folder时,我希望它可以通过本机Gallery访问.但这幅画并没有出现在画廊里.要看到它我必须重新启动手机或我必须使用另一个应用程序,如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);
}
Run Code Online (Sandbox Code Playgroud)

无法快速回答我自己的问题只能编辑我的问题.所以这是答案:

我写了一个小的PhoneGap-Plugin,它实际上只是从zapl调用代码.再次感谢.希望它能帮助有同样问题的人.

你可以在这里找到代码:https://github.com/philipp-at-greenqloud/pluginRefreshMedia

zap*_*apl 5

我不知道这是否对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);
Run Code Online (Sandbox Code Playgroud)