Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何阻止webChromeClient在Android浏览器中打开文件_Java_Android_Html_Jquery Mobile_Android Webview - Fatal编程技术网

Java 如何阻止webChromeClient在Android浏览器中打开文件

Java 如何阻止webChromeClient在Android浏览器中打开文件,java,android,html,jquery-mobile,android-webview,Java,Android,Html,Jquery Mobile,Android Webview,我正在使用WebView开发一个Android应用程序,它将本地存储的HTML5/JQuery移动应用程序加载到assets文件夹中。该应用程序从我拥有的域上的REST服务获取内容。内容是HTML内容和可下载文件的混合体 我的问题在于,当用户单击按钮下载文件时,浏览器窗口启动,文件被下载,这非常好。然而,我的应用程序失去了焦点,屏幕上出现了一个空白浏览器。我做了一些谷歌搜索,阅读了一些关于堆栈溢出的答案,并修改了我的代码以设置下载侦听器,但这仍然会加载浏览器。请告知。我的代码列在下面 prote

我正在使用WebView开发一个Android应用程序,它将本地存储的HTML5/JQuery移动应用程序加载到assets文件夹中。该应用程序从我拥有的域上的REST服务获取内容。内容是HTML内容和可下载文件的混合体

我的问题在于,当用户单击按钮下载文件时,浏览器窗口启动,文件被下载,这非常好。然而,我的应用程序失去了焦点,屏幕上出现了一个空白浏览器。我做了一些谷歌搜索,阅读了一些关于堆栈溢出的答案,并修改了我的代码以设置下载侦听器,但这仍然会加载浏览器。请告知。我的代码列在下面

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    WebView webView = (WebView)findViewById(R.id.webView);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setAllowFileAccess(true);
    webView.setWebChromeClient(new WebChromeClient());
    webView.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);
        }
    });
    webView.loadUrl("file:///android_asset/www/index.html");
}

您是否尝试过使用Android DownloadManager(请参阅)而不是启动视图意图?我认为您只需要将下载的内容从DownloadListener排队即可