AndroidStudioWebView-使用admin-ajax.php扩展名下载文件
创始人
2024-10-11 19:01:11
0

在Android Studio的WebView中下载文件时,如果使用了“admin-ajax.php”扩展名的文件,可能会导致下载无法正常进行。这是因为默认情况下,Android Studio WebView不允许在WebView中打开或下载文件,除非文件的MIME类型与WebView的允许类型相匹配。

要解决这个问题,我们需要在应用程序中添加以下代码:

webView.setDownloadListener(new DownloadListener() {
        @Override
        public void onDownloadStart(String url, String userAgent,
                                    String contentDisposition, String mimeType,
                                    long contentLength) {
            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_DOWNLOADS,
                    URLUtil.guessFileName(url, contentDisposition,
                            mimeType));
            DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
            dm.enqueue(request);
            Toast.makeText(getApplicationContext(), "Downloading File",
                    Toast.LENGTH_LONG).show();
        }
    });

这段代码将允许在WebView中下载文件,并设置了DownloadManager用于管理下载进程。

在下载过程中会实例化一个DownloadManager.Request对象,其中包含了文件下载的各种参数。重要的是,我们需要在请求头中添加cookie以便进行授权。

此外,我们还需要添加以下权限,以便下载管理器能够访问设备存储:



完成上述设置后,WebView

相关内容

热门资讯

此事引发广泛关注!微信小程序怎... 此事引发广泛关注!微信小程序怎么挂脚本,九哥玩挂,教材教程(有挂解惑)-哔哩哔哩1、上手简单,内置详...
透视规律!德普之星辅助软件,德... 透视规律!德普之星辅助软件,德扑圈透视挂(透视)其实存在有挂(有挂实锤)-哔哩哔哩1、完成德普之星辅...
辅助透视!德普之星辅助工具如何... 辅助透视!德普之星辅助工具如何打开,德普之星透视(透视)一直有挂(有挂功能)-哔哩哔哩1、德普之星辅...
据了解!小闲川南手游辅助器,破... 据了解!小闲川南手游辅助器,破解版财神脚本,模板教程(果真有挂)-哔哩哔哩1、进入到小闲川南手游辅助...
透视脚本!德普之星辅助器app... 透视脚本!德普之星辅助器app,德普之星辅助器app(透视)本来是真的挂(有挂秘诀)-哔哩哔哩1、透...
今日!广东闲来掌上程序辅助软件... 今日!广东闲来掌上程序辅助软件,广东雀神智能辅助照片,要领教程(有挂方略)-哔哩哔哩1、完成广东闲来...
透视计算!德普辅助软件,德普辅... 透视计算!德普辅助软件,德普辅助软件(透视)本来是真的挂(讲解有挂)-哔哩哔哩1、在德普辅助软件插件...
出乎意料的是!边锋老友杰克辅助... 出乎意料的是!边锋老友杰克辅助,财神13辅助功能详解,阶段教程(竟然有挂)-哔哩哔哩1、很好的工具软...
透视新版!德普辅助器怎么用,德... 透视新版!德普辅助器怎么用,德普之星辅助工具如何设置(透视)都是真的是有挂(有挂头条)-哔哩哔哩1、...
据了解!老友赣州麻将破解版,h... 据了解!老友赣州麻将破解版,hhpoker可以控制吗,积累教程(竟然有挂)-哔哩哔哩亲,关键说明,老...