我设法将文件下载到本地存储,但我无法将其路径传递给媒体扫描程序,因此它被添加到图库中。
我添加了一个插件来执行媒体扫描仪的工作。尝试解决问题的功能就是这个。
private boolean mediaScanner(String absolutePath, CallbackContext callbackContext) throws InterruptedException, JSONException
{
Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
String path = Uri.parse(absolutePath).getPath();
File f = new File(path.substring(path.indexOf('/', 1)));
mediaScanIntent.setData(Uri.fromFile(f));
this.cordova.getActivity().sendBroadcast(mediaScanIntent);
return true;
}
绝对路径参数是 javascript 中的 file.toURL()。这是一个看起来像这样的网址。cdvfile://localhost/persistent/Download/13republica_personal.jpg
我试图将其修改为/下载/13republica_personal.jpg但它不起作用。
如何将文件 URL/位置传递给媒体扫描程序,以便将文件添加到库中?
最终使用了 phonegap 文件插件的最后一个开发人员版本,并使用文件对象的 toLocalURL 方法作为媒体扫描器的参数。