私は次の問題があります。WebViewのダウンロード先をファイルの名前を知らずにダウンロードフォルダに設定するにはどうすればよいですか?
私はWebView
です。このWebView
には、ユーザーがファイルをダウンロードしようとしているときに動作するダウンロードリスナーがあります。
通常の「ダウンロード」フォルダにファイルをダウンロードします。私は
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, title);
しかし、どのように、私は元の名前でファイルを保存しないを使用してこれを行うことができますか?
と呼ばれているURLは、ファイル名が含まれていないので、私は
String name = URLUtil.guessFileName(url, null, mimetype);
を使用することはできません。
マイダウンロードマネージャは、現在、次のようになります。
mainWebView.setDownloadListener(new DownloadListener() {
public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) {
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
// Show a download notification
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
String title = URLUtil.guessFileName(url, null, mimetype);
// Set directory of where the file should be saved to
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, title);
// Start the download
dm.enqueue(request);
}
}
注:それは間違った名前の下だ場合には、私のファイルを保存するために、イベントをできるようになりますので、私は現在、URLUtil.guessFilename()
メソッドを使用しています。