Buona giornata a tutti, ho fatto un'app ma ho colpito un muro. quando visiti un sito web usando un browser desktop come firefox o chrome e fai clic sul link per il download inizia a scaricare il file, ma quando apro la stessa pagina nella mia app Android che visualizza la pagina utilizzando la webview e fai clic su un link per il download niente succede a tutti, se ne sta lì seduto come se non sapesse cosa fare con quel collegamento. se tu potessi darmi una mano, sarebbe di grande aiuto e riportarmi di nuovo in pista.webview non scarica il file
questo è il link per il download io uso di un file pdf sul mio sito:
<img src="images/Art1.jpg" width="80" height="166" /><a href="m2.pdf">Download</a>
questo è il mio file main.xml per la mia app Android:
<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
favore ho sarà più grato se qualcuno può aiutarmi a indicarmi la strada giusta.
package com.jeffonlinelibrary;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.Window;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class WebPageLoader extends Activity
{
final Activity activity = this;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
setContentView(R.layout.main);
WebView webView = (WebView) findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress)
{
activity.setTitle("Loading...");
activity.setProgress(progress * 100);
if(progress == 100)
activity.setTitle(R.string.app_name);
}
});
webView.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
{
// Handle the error
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url);
return true;
}
});
webView.setDownloadListener(new DownloadListener() {
public void onDownloadStart(String url, String userAgent,
String contentDisposition, String mimetype,
long contentLength) {
// handle download, here we use brower to download, also you can try other approach.
Uri uri = Uri.parse(url);
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
startActivity(intent);
}
});
webView.loadUrl("http://jeffonlinelibrary.comuv.com/jeffOnlinelibraryApp");
}
}
grazie mille per la risposta, ma un po 'confuso per favore dove dovrei inserire questo codice? – chinedudeoracle
... Trova la visualizzazione web nella tua attività e imposta DownloadListener su di essa. – faylon
grazie ancora per tutto l'aiuto, ma quando ho inserito il codice nel mio file attività ha generato alcuni errori come: – chinedudeoracle