Il Forum è consultabile solo in modalità lettura. Per domande o consigli iscriviti al nostro GRUPPO FACEBOOK / COMMUNITY cliccando qui

Aiuto webview

Discussion in 'Development' started by nicolachiari, Oct 22, 2015.

  1. nicolachiari

    nicolachiari Worker Droid

    Joined:
    Oct 13, 2015
    Messages:
    150
    Likes Received:
    8
    Ciao a tutti!!! Volevo chiedervi una cosa....
    Se io creo una web view nella mia app quando apro l'app si apre anche il sito... E fino a qua OK.... Pero se clicco sulla pagina mi reindirizzare nel browser.... C'è un modo per navigare nel sito senza aprire il browser? Per fare tutto nell'app!!
    Grazie!!
     
  2. 144556

    144556 Silver Droid

    Joined:
    Apr 18, 2014
    Messages:
    2,326
    Likes Received:
    1,010
    Si usando chromium dovresti poterlo fare
     
  3. nicolachiari

    nicolachiari Worker Droid

    Joined:
    Oct 13, 2015
    Messages:
    150
    Likes Received:
    8
    scusa la mia ignoranza... cosa è chromium?
     
  4. Omar

    Omar Guest

  5. Crotan

    Crotan Worker Droid

    Joined:
    Sep 1, 2013
    Messages:
    81
    Likes Received:
    56
    Ho l'impressione che gli utenti che hanno risposto prima di me non hanno capito la richiesta di nicolachiari. Per fare quello che chiedi, ovvero navigare all'interno della WebView senza far aprire il browser, ti basta inserire il codice che trovi di seguito prima di caricare l'URL attraverso il metodo loadUrl().

    Code:
    webView.setWebViewClient(new WebClient());
    E nella stessa classe dichiari una inner-class che estende WebViewClient e fai l'override del metodo shouldOverrideUrlLoading() entro il quale richiamerai il metodo loadUrl().

    Code:
    private class WebClient extends WebViewClient {
           @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
    }
    
     
    Last edited by a moderator: Jan 23, 2016
  6. nicolachiari

    nicolachiari Worker Droid

    Joined:
    Oct 13, 2015
    Messages:
    150
    Likes Received:
    8
    grazie provoooo!!!!
     
    Crotan likes this.
  7. nicolachiari

    nicolachiari Worker Droid

    Joined:
    Oct 13, 2015
    Messages:
    150
    Likes Received:
    8
    ciao!! c'è un modo per far ricaricare l'ultimo url che c'era nella webview quando si esce e si rientra nell'app?
     
  8. Mikhael

    Mikhael Administrator

    Joined:
    Jan 23, 2009
    Messages:
    6,450
    Likes Received:
    2,707
    Ciao @nicolachiari, beh ti basta mettere l'istruzione di loadurl nell'OnResume dell'activity, ogni volta che riapri l'app ricarica l'url indicato.
     
    nicolachiari likes this.
  9. nicolachiari

    nicolachiari Worker Droid

    Joined:
    Oct 13, 2015
    Messages:
    150
    Likes Received:
    8
    Ma cosi non ai carica sempre lo stesso URL? Quello predefinito! Io vorrei far caricare l'ultimo... Ad esempio l'URL predefinito è google.com poi cerco tutto android e vorrei che mi rimanesse sulla pagina di tutto android!
    Grazie per la risposta!
     
  10. Mikhael

    Mikhael Administrator

    Joined:
    Jan 23, 2009
    Messages:
    6,450
    Likes Received:
    2,707
    Ah ok. Tendenzialmente quando torni sull'app la webview dovrebbe rimanere su quella pagina. Puoi comunque volendo intercettare il cambio di pagina e salvarlo in una preferenza estraendo l'url attuale con
    Code:
    String webUrl = webView.getUrl();
    
    Dovresti poter intercettare il cambio pagina estendendo le funzionalità del webviewclient e usando la funzione
    Code:
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
    
    Salvandolo in una preferences poi lo recuperi quando l'app viene riaperta. Quindi se valorizzato carica quello altrimenti carica google
     
  11. Mikhael

    Mikhael Administrator

    Joined:
    Jan 23, 2009
    Messages:
    6,450
    Likes Received:
    2,707
    Mi correggo, con shouldOverrideUrlLoading non ti serve recuperare l'url con la funzione di prima, perché l'url lo hai già come variabile della funzione: url
     
    nicolachiari likes this.
  12. nicolachiari

    nicolachiari Worker Droid

    Joined:
    Oct 13, 2015
    Messages:
    150
    Likes Received:
    8
    io avevo provato con shared preference ... salvano weburl come stringa... e poi facendolo ricaricare... però non ero riuscito...
     
  13. nicolachiari

    nicolachiari Worker Droid

    Joined:
    Oct 13, 2015
    Messages:
    150
    Likes Received:
    8
    quello che avevo fatto era questo...
    Code:
    String webUrl = webView_video1.getUrl();
    
    
    
            SharedPreferences prefs1 = getSharedPreferences("aa", MODE_PRIVATE);
            SharedPreferences.Editor editor = prefs1.edit();
    
            editor.putString("string1", webUrl);
            editor.apply(); // This line is IMPORTANT. If you miss this one its not gonna work!
    
            SharedPreferences sharedPrefs = getSharedPreferences("aa", MODE_PRIVATE);
    
            String string = sharedPrefs.getString("string1",
                    webUrl);
    
            webView_video1.loadUrl(string);