Android 在应用浏览器-Phonegap/Cordova中启用下载
我正在使用cordova 3.5-0.26和inAppBrowser 0.5.0 现在我正在应用浏览器中加载一个外部页面。有一个下载按钮。当我按下下载按钮时,它什么也不做。我想在应用浏览器中下载的东西已关闭。就像科尔多瓦的观点一样 然后我尝试使用以下代码激活下载管理器(适用于Android) 这也不适用于InApp浏览器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
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);
}
});