如何使用DownloadListener? [英] How do I use DownloadListener?

查看:152
本文介绍了如何使用DownloadListener?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建一个应用程序,让大学生从应用程序,而不是浏览器中下载他们的研究材料。 该主页上有大量的主题名称。 每个主题的名称会导致新的网页。 所以,我已经使用WebViewClient。 但是,在最后一页,当我点击的* .ppt或* .pdf文件打开它的垃圾。

我想这些文件可以在应用程序中下载的。

我如何暗示DownloadListener

 包jiit.app;

进口android.app.Activity;
进口android.os.Bundle;
进口android.webkit.WebSettings;
进口android.webkit.WebView;
进口android.webkit.WebViewClient;

公共类平方米扩展活动

{
 的WebView浏览器;
 保护无效的onCreate(包anyvar)
   {super.onCreate(anyvar);
      的setContentView(R.layout.sm);
      浏览器=(web视图)findViewById(R.id.webkit);
      WebSettings webSettings = browser.getSettings();
      webSettings.setJavaScriptEnabled(真正的);
      webSettings.setBuiltInZoomControls(真正的);
      browser.getSettings()setDefaultZoom(WebSettings.ZoomDensity.CLOSE)。
      browser.setWebViewClient(新WebViewClient());
        {
          browser.loadUrl(http://www.sm.ividhya.com/j128/);
        }
    }
}
 

解决方案

试试这个 DownloadListener 例如:

 公共类webActivity延伸活动{

 的WebView web视图;

    @覆盖
    公共无效的onCreate(包savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.main);
        this.webView =(web视图)this.findViewById(R.id.webview);
        。this.webView.getSettings()setSupportZoom(假);
        。this.webView.getSettings()setJavaScriptCanOpenWindowsAutomatically(真正的);
        this.webView.loadUrl(http://www.sm.ividhya.com/j128/);
        this.webView.setWebViewClient(新WebViewClientDemo());
        webView.setDownloadListener(新DownloadListener(){
            公共无效onDownloadStart(URL字符串,字符串的userAgent,
                            字符串contentDisposition,字符串MIMETYPE,
                            长CONTENTLENGTH){

                                          开放的我们的uri = Uri.parse(URL);
           意向意图=新的意图(Intent.ACTION_VIEW,URI);
                    startActivity(意向);
            }
    });

    }
  私有类WebViewClientDemo扩展WebViewClient {
    @覆盖

    公共布尔shouldOverrideUrlLoading(web视图查看,字符串URL){
     view.loadUrl(URL);
      返回true;
     }
 

I am creating an app that allows college students to download their study material from within the app instead of the browser. The home page has lots of subject names. Each subject name leads to new webpage. So, I have used WebViewClient. But, at the final page when I click on the *.ppt or *.pdf files it open junk.

I want these files to be downloaded within the app.

How do I imply DownloadListener

package jiit.app;

import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class sm extends Activity

{  
 WebView browser;
 protected void onCreate(Bundle anyvar) 
   {  super.onCreate(anyvar);
      setContentView(R.layout.sm);
      browser=(WebView)findViewById(R.id.webkit);
      WebSettings webSettings = browser.getSettings();
      webSettings.setJavaScriptEnabled(true);
      webSettings.setBuiltInZoomControls(true);
      browser.getSettings().setDefaultZoom(WebSettings.ZoomDensity.CLOSE);
      browser.setWebViewClient(new WebViewClient());
        {
          browser.loadUrl("http://www.sm.ividhya.com/j128/");
        }  
    }
}

解决方案

try this DownloadListener example :

public class webActivity  extends Activity {

 WebView webView;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        this.webView=(WebView) this.findViewById(R.id.webview);
        this.webView.getSettings().setSupportZoom(false);
        this.webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
        this.webView.loadUrl("http://www.sm.ividhya.com/j128/");
        this.webView.setWebViewClient(new WebViewClientDemo());
        webView.setDownloadListener(new DownloadListener() {
            public void onDownloadStart(String url, String userAgent,
                            String contentDisposition, String mimetype,
                            long contentLength) {

                                          Uri uri = Uri.parse(url);
           Intent intent = new Intent(Intent.ACTION_VIEW,uri);
                    startActivity(intent);
            }
    });

    }
  private class WebViewClientDemo extends WebViewClient {
    @Override

    public boolean shouldOverrideUrlLoading(WebView view, String url) {
     view.loadUrl(url);
      return true;
     }

这篇关于如何使用DownloadListener?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆