WebViewでWebサイトを読み込み、Download Managerを使用して自分のWebサイトから写真ファイルをダウンロードします。ファイルが正常にダウンロードされ、内部ストレージ/ダウンロードでファイルが見つかりました。downloadManagerからダウンロードしたファイルを開くことができません。Android 6.0 Marshmallow
webView.setDownloadListener(new DownloadListener() {
@Override
public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimeType, long contentLength) {
if(isStoragePermissionGranted()) {
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
request.setMimeType(mimeType);
//------------------------COOKIE!!------------------------
String cookies = CookieManager.getInstance().getCookie(url);
request.addRequestHeader("cookie", cookies);
//------------------------COOKIE!!------------------------
request.addRequestHeader("User-Agent", userAgent);
request.setDescription("Downloading file...");
request.setTitle(URLUtil.guessFileName(url, contentDisposition, mimeType));
request.allowScanningByMediaScanner();
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOAD, URLUtil.guessFileName(url, contentDisposition, mimeType));
DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
dm.enqueue(request);
Toast.makeText(getApplicationContext(), "Downloading File", Toast.LENGTH_LONG).show();
}
}
});
しかし、私は私のギャラリーの写真を開いたとき、私はできない写真を開くために:
私はEnvironment.DIRECTORY_DOWNLOADを使用してディレクトリをダウンロードするファイルを保存し、ここからダウンロードファイルのための私の完全なコードです。写真をタップすると「開けません」と表示されます。ファイルの詳細を確認し、ファイルパスは/ storage/emulated/0/Downloadを参照しています。
私のギャラリーの画像ファイルパスが異なるパスを表示する理由はありますか?これを解決する方法は?
まあファイルがあなたのウェブサイトから来ている場合は、きれいにファイルを比較することができます。ファイルサイズから始めます。 – greenapps
'Internal Storage/Downloadのファイルが見つかりました。 '。ダウンロードマネージャにファイルの保存場所を教えてくださいましたか?あなたは何をしましたか?そしてその正確な道も教えてください。どうやって他のものと比較できるの? – greenapps
'私のギャラリーの写真を開くと'、 '。何を正確にしましたか?ギャラリーアプリを使用していますか?より良い。あなたが言ったファイルが見つかりました。デバイス上にファイルエクスプローラアプリを使用しています(そうでない場合は、通知または実行します)。ファイルエクスプローラでファイルを開きます。 – greenapps