Phonegap 3.3.0将下载的文件cdvfile url传递给Media Scanner

时间:2014-04-01 11:39:45

标签: android file cordova download android-mediascanner

我设法将文件下载到本地存储空间,但我无法将其传递到媒体扫描程序,因此会将其添加到图库中。

我添加了一个可以完成媒体扫描程序工作的插件。 尝试做这个技巧的功能是这个。

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

我尝试将其修改为/Download/13republica_personal.jpg,但它无法正常工作。

我应该如何将文件网址/位置传递给媒体扫描程序,以便将文件添加到图库?

1 个答案:

答案 0 :(得分:0)

结束使用上一个开发者版本的phonegap文件插件,并使用文件对象的toLocalURL方法作为媒体扫描程序的参数。