How to use DownloadListener?

I am creating an application that allows students to download teaching material from the application instead of the browser. There are a lot of thematic names on the homepage. Each subject name leads to a new web page. So, I used WebViewClient. But on the last page, when I click on the * .ppt or * .pdf files, you open the trash.

I want these files to load in the application.

How do I add a 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/"); } } } 
+4
android webviewclient webclient-download
source share
1 answer

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; } 
+7
source share

All Articles