Autore Topic: Gestione errori webView  (Letto 1715 volte)

Offline daimadoshi85

  • Nuovo arrivato
  • *
  • Post: 36
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S 2
  • Play Store ID:
    Luca Bonora
  • Sistema operativo:
    Ubuntu
Gestione errori webView
« il: 23 Novembre 2010, 21:09:30 CET »
0
Ciao a tutti. Sto cercando di risolvere una cosa che è una cavolata, ma proprio non mi riesce e ho ricercato ovunque. Ho una webView in cui dovrei gestire un'errore di codice 503. Col codice
Codice (Java): [Seleziona]
webView.setWebViewClient(new WebViewClient() {
                           public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
                             Toast.makeText(context, "Oh no! " + description, Toast.LENGTH_SHORT).show();
                           }
                         });
mi sembra che non lo gestisca. Come devo fare allora?Ho provato a ricercare su internet per la gestione generica degli errori ma non ho trovato niente o_O e non capisco come mai poi.
Vi ringrazio davvero per l'aiuto!

Offline Khali

  • Utente junior
  • **
  • Post: 70
  • Respect: +7
    • u.felloni
    • Mostra profilo
  • Play Store ID:
    weetme software
  • Sistema operativo:
    windows 7
Re:Gestione errori webView
« Risposta #1 il: 08 Febbraio 2011, 12:07:10 CET »
0
Prova così:

webView.setWebViewClient(new WebViewClient() {
                           public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
                             Toast.makeText(this, "Oh no! " + description, Toast.LENGTH_SHORT).show();
                                                     
                            }
                         });
Ciao
« Ultima modifica: 08 Febbraio 2011, 12:10:16 CET da Khali »

Offline daimadoshi85

  • Nuovo arrivato
  • *
  • Post: 36
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S 2
  • Play Store ID:
    Luca Bonora
  • Sistema operativo:
    Ubuntu
Re:Gestione errori webView
« Risposta #2 il: 08 Febbraio 2011, 16:26:08 CET »
0
Scusa, non è la stessa cosa che ho scritto io?? o_O

Offline Khali

  • Utente junior
  • **
  • Post: 70
  • Respect: +7
    • u.felloni
    • Mostra profilo
  • Play Store ID:
    weetme software
  • Sistema operativo:
    windows 7
Re:Gestione errori webView
« Risposta #3 il: 08 Febbraio 2011, 17:11:38 CET »
0
Si, a parte il primo parametro. Vedendo solo una parte del codice, non vedo come è impostata context.

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Gestione errori webView
« Risposta #4 il: 08 Febbraio 2011, 20:49:51 CET »
0
Non credo funzioni. Quel this si riferisce all'instanza corrente di WebViewClient che non implementa Context ;)

Offline Khali

  • Utente junior
  • **
  • Post: 70
  • Respect: +7
    • u.felloni
    • Mostra profilo
  • Play Store ID:
    weetme software
  • Sistema operativo:
    windows 7
Re:Gestione errori webView
« Risposta #5 il: 09 Febbraio 2011, 09:03:34 CET »
0
// Let's display the progress in the activity title bar, like the
 // browser app does.
 getWindow().requestFeature(Window.FEATURE_PROGRESS);

 webview.getSettings().setJavaScriptEnabled(true);

 final Activity activity = this;
 webview.setWebChromeClient(new WebChromeClient() {
   public void onProgressChanged(WebView view, int progress) {
     // Activities and WebViews measure progress with different scales.
     // The progress meter will automatically disappear when we reach 100%
     activity.setProgress(progress * 1000);
   }
 });
 webview.setWebViewClient(new WebViewClient() {
   public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
     Toast.makeText(activity, "Oh no! " + description, Toast.LENGTH_SHORT).show();
   }
 });

 webview.loadUrl("http://slashdot.org/");
 
Scusate, ma non sono molto esperto e avevo visto questo esempio WebView | Android Developers
 ;-)

Offline Gdg92ct

  • Nuovo arrivato
  • *
  • Post: 14
  • Respect: 0
    • Google+
    • Mostra profilo
    • gdgweb.altervista.org
  • Play Store ID:
    Gdg92ct
  • Sistema operativo:
    Windows 7
Re:Gestione errori webView
« Risposta #6 il: 29 Gennaio 2013, 20:10:09 CET »
0
Anchio ho un problema simile, in pratica la mia webview apre link con protocolli diversi da http://
In pratica deve aprire link che aprano delle app, come per facebook://

Adesso se l'utente non ha l'app, ovviamente lancia un errore del tipo:
android.content.ActivityNotFoundException

Come faccio a risolvere?
Posso risolvere nello stesso modo?
« Ultima modifica: 29 Gennaio 2013, 20:15:16 CET da Gdg92ct »

Offline daimadoshi85

  • Nuovo arrivato
  • *
  • Post: 36
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S 2
  • Play Store ID:
    Luca Bonora
  • Sistema operativo:
    Ubuntu
Re:Gestione errori webView
« Risposta #7 il: 30 Gennaio 2013, 16:23:29 CET »
0
A prima vista ti direi di catchare l'eccezione e in base a che protocollo è lanci l'apertura del market all'app che dovrebbe installare...

Offline Gdg92ct

  • Nuovo arrivato
  • *
  • Post: 14
  • Respect: 0
    • Google+
    • Mostra profilo
    • gdgweb.altervista.org
  • Play Store ID:
    Gdg92ct
  • Sistema operativo:
    Windows 7
Re:Gestione errori webView
« Risposta #8 il: 30 Gennaio 2013, 17:16:15 CET »
0
A prima vista ti direi di catchare l'eccezione e in base a che protocollo è lanci l'apertura del market all'app che dovrebbe installare...
Grazie del consiglio, sicuramente farò così ma per quanto riguarda la gestione dell'errore dove devo scriverlo? Quello che chiedevo io, devo fare l'override del metodo:
Codice: [Seleziona]
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
   }
?

Oppure devo aggiungere un try catch? Ed in quel caso dove lo devo aggiungere? Nell'activity?
« Ultima modifica: 30 Gennaio 2013, 17:19:08 CET da Gdg92ct »

Offline daimadoshi85

  • Nuovo arrivato
  • *
  • Post: 36
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S 2
  • Play Store ID:
    Luca Bonora
  • Sistema operativo:
    Ubuntu
Re:Gestione errori webView
« Risposta #9 il: 31 Gennaio 2013, 16:07:46 CET »
0
Direi che devi catchare il frammento di codice che gestisce la chiamata all'activity.