如何从 Webview 下载图像到 custom/private 文件夹而不是 Android 中的下载文件夹

How to download image from Webview to custom/private folder instead of Download folder in Android

我正在尝试从 Android 应用程序的自定义文件夹中的 webview 下载图像。截至目前,我只能使用以下代码下载 Download 文件夹中的文件。

DownloadManager.Request request = new DownloadManager.Request(Uri.parse(imgUrl));
request.allowScanningByMediaScanner();
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
DownloadManager downloadManager = (DownloadManager) getActivity().getSystemService(DOWNLOAD_SERVICE);
downloadManager.enqueue(request);

有没有办法将图像存储在其他文件夹(新创建的文件夹)而不是默认的 Download 文件夹中。实际上,我想在 Android 应用程序文件夹中下载图像,该文件夹将是私有的,用户无法通过文件管理器或其他应用程序访问。

我尝试使用以下代码创建文件夹,但文件夹正在创建 /Android/data/com.abc.xyz/ 有没有办法直接在内部存储(根目录下)下创建文件夹?

File direct = new File(Environment.getExternalStorageDirectory()+"folder_name");

if(!direct.exists()) {
     if(direct.mkdir());
}

try this

mywebView.setDownloadListener(new DownloadListener() {

    public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) {

        Request request = new Request(Uri.parse(url));
        request.allowScanningByMediaScanner();

        request.setNotificationVisibility(
        DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);

        File folder = new File("/storage/emulated/0/Folder_Name");
        if (!folder.exists()) {
        folder.mkdirs();
        System.out.println("Directory created");
        } else {
        System.out.println("Directory is not created");
        }
        request.setDestinationInExternalPublicDir("Folder_Name","Wallpaper.jpg");


        DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);

        dm.enqueue(request);  

    }
});