Android 在应用浏览器-Phonegap/Cordova中启用下载

Android 在应用浏览器-Phonegap/Cordova中启用下载,android,ios,cordova,webview,inappbrowser,Android,Ios,Cordova,Webview,Inappbrowser,我正在使用cordova 3.5-0.26和inAppBrowser 0.5.0 现在我正在应用浏览器中加载一个外部页面。有一个下载按钮。当我按下下载按钮时,它什么也不做。我想在应用浏览器中下载的东西已关闭。就像科尔多瓦的观点一样 然后我尝试使用以下代码激活下载管理器(适用于Android) 这也不适用于InApp浏览器 1) 如何在AppBrowser中启用下载?2) 是否有任何方法可以使用默认下载管理器捕获下载?3) 如果可能,请提及ios和android的解决方案。如果不是的话,andro

我正在使用cordova 3.5-0.26和inAppBrowser 0.5.0

现在我正在应用浏览器中加载一个外部页面。有一个下载按钮。当我按下下载按钮时,它什么也不做。我想在应用浏览器中下载的东西已关闭。就像科尔多瓦的观点一样

然后我尝试使用以下代码激活下载管理器(适用于Android)

这也不适用于InApp浏览器


1) 如何在AppBrowser中启用下载?2) 是否有任何方法可以使用默认下载管理器捕获下载?3) 如果可能,请提及ios和android的解决方案。如果不是的话,android现在就可以了。请帮助…

应用浏览器不允许下载。您需要修改插件以允许下载

对于android,在
platforms\android\src\org\apache\cordova\inappbrowser内部

方法名称
private void导航(字符串url){

包括

this.inAppWebView.setDownloadListener(new DownloadListener() {
                    public void onDownloadStart(String url, String userAgent,
                            String contentDisposition, String mimetype,
                            long contentLength) {
                      Intent i = new Intent(Intent.ACTION_VIEW);
                      i.setData(Uri.parse(url));
                      cordova.getActivity().startActivity(i);
                    }
                });
在此行之前
this.inAppWebView.requestFocus();

方法
public void run(){

本节之后

if (clearAllCache) {
                CookieManager.getInstance().removeAllCookie();
            } else if (clearSessionCache) {
                CookieManager.getInstance().removeSessionCookie();
            }

            inAppWebView.loadUrl(url);
在onCreate内的.java文件中

appView.setDownloadListener(new DownloadListener() {
                    public void onDownloadStart(String url, String userAgent,
                            String contentDisposition, String mimetype,
                            long contentLength) {
                      Intent i = new Intent(Intent.ACTION_VIEW);
                      i.setData(Uri.parse(url));
                      startActivity(i);
                    }
                });

不知道iOS

如果你想使用Android的下载管理器,你需要打开股票浏览器。除非你准备好调整Cordova的Java文件以捕获任何可下载的文件并通过AsyncTask执行。如果没有其他方法,请在这里阅读更多内容,我准备调整Java文件。我将调整inAppBrowser Java文件以ce下载。虽然我希望iOS和android都能有更好的解决方案。我不知道目标C。@jameswon我使用内置浏览器的下载管理器没有问题。或者你可以使用Cordova的文件API下载文件,你的代码将跨平台工作。不。这不是一个选项。外部链接是第三方网站。我无法控制它。因此不会有下载url。@JamesWongI尝试了它,但出现了此错误,您能帮助我吗?这是。inAppWebView.setDownloadListener(new DownloadListener(){^symbol:variable inAppWebViewIt not working..这是不可接受的答案..我尝试了相同的代码..它从未执行。。
appView.setDownloadListener(new DownloadListener() {
                    public void onDownloadStart(String url, String userAgent,
                            String contentDisposition, String mimetype,
                            long contentLength) {
                      Intent i = new Intent(Intent.ACTION_VIEW);
                      i.setData(Uri.parse(url));
                      startActivity(i);
                    }
                });