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.威信茶馆大贰破解 选牌创...
出乎意料的是!雀姬辅助脚本,微... 出乎意料的是!雀姬辅助脚本,微乐春天小程序辅助,模块教程(有挂攻略)-哔哩哔哩1、用户打开应用后不用...
透视辅助!德普辅助软件,德扑圈... 透视辅助!德普辅助软件,德扑圈透视挂(透视)确实存在有挂(新版有挂)-哔哩哔哩1、完成德扑圈透视挂辅...
透视ai代打!德普之星透视辅助... 透视ai代打!德普之星透视辅助软件是真的吗,德普之星的辅助工具介绍(透视)真是是有挂(有挂神器)-哔...
现就发布提示!闲逸辅助软件,w... 现就发布提示!闲逸辅助软件,wepoker插件下载,攻略教程(有挂讲解)-哔哩哔哩小薇(辅助器软件下...