2016-10-08 8 views
1

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を参照しています。

私のギャラリーの画像ファイルパスが異なるパスを表示する理由はありますか?これを解決する方法は?

+0

まあファイルがあなたのウェブサイトから来ている場合は、きれいにファイルを比較することができます。ファイルサイズから始めます。 – greenapps

+0

'Internal Storage/Downloadのファイルが見つかりました。 '。ダウンロードマネージャにファイルの保存場所を教えてくださいましたか?あなたは何をしましたか?そしてその正確な道も教えてください。どうやって他のものと比較できるの? – greenapps

+0

'私のギャラリーの写真を開くと'、 '。何を正確にしましたか?ギャラリーアプリを使用していますか?より良い。あなたが言ったファイルが見つかりました。デバイス上にファイルエクスプローラアプリを使用しています(そうでない場合は、通知または実行します)。ファイルエクスプローラでファイルを開きます。 – greenapps

答えて

0

あなたが代わりにEnvironment.DIRECTORY_DOWNLOADSを設定する必要が定数をEnvironment.DIRECTORY_DOWNLOAD

はありません。

また、具体的なオプションはEnvironment.DIRECTORY_PICTURESです。画像のダウンロードに適しています。

全リストは、マニュアルに記載されていますhttps://developer.android.com/reference/android/os/Environment.html

関連する問題