ファイルをローカル ストレージにダウンロードできましたが、そのパスをメディア スキャナーに渡すことができず、ギャラリーに追加されません。
メディア スキャナーを機能させるプラグインを追加しました。トリックを実行しようとする関数はこれです。
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() です。こんな感じのURLです。cdvfile://localhost/persistent/Download/13republica_personal.jpg
/Download/13republica_personal.jpg に変更しようとしましたが、うまくいきません。
ファイルがギャラリーに追加されるように、ファイルの URL/場所をメディア スキャナーに渡すにはどうすればよいですか?