Autore Topic: App con WebView funzionante ma...  (Letto 668 volte)

Offline Alexino

  • Nuovo arrivato
  • *
  • Post: 0
    • Mostra profilo
  • Dispositivo Android:
    LG G5
  • Sistema operativo:
    WINDOWS 8
App con WebView funzionante ma...
« il: 27 Giugno 2017, 13:30:45 CEST »
Salve a tutti, la mia app usa una WebView per caricare un sito internet, una toolbar per mostrare il titolo della pagina visualizzata, una progressbar per mostrare l'avanzamento del caricamento ed un menu per agevolare la navigazione all'interno della pagina caricata. Tutto funziona abbastanza bene. Il problema è che il sito caricato nella WebView ha già di default un menu proprio che io vorrei non venisse visualizzato quando apro la mia app. Come posso fare questo. Grazie per l'attenzione.

Post unito: 27 Giugno 2017, 14:59:15 CEST
Scusate non ho specificato che uso android studio.
qualcuno può darmi un suggerimento per cortesia?
Grazie
« Ultima modifica: 27 Giugno 2017, 14:59:15 CEST da Alexino, Reason: Merged DoublePost »

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 804
    • Github
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Huawei P9 Lite
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 10 x64
Re:App con WebView funzionante ma...
« Risposta #1 il: 27 Giugno 2017, 17:18:01 CEST »
Se hai accesso al sito web puoi modificarlo in modo da non includere il menù se la chiamata proviene dall'app: cambi lo useragent dichiarato dalla WebView e dal sito fai un controllo prima di renderizzare la pagina.

Se non hai accesso al sito le cose si complicano: al completamento del caricamento devi iniettare un javascript che va a nascondere il menù.

Codice (Java): [Seleziona]
WebView webview = new WebView();
webview.setWebViewClient(new WebClient());
webView.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("http://tuosito.it");

public class WebClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }

    @Override
    public void onPageFinished(WebView view, String url)
    {      
        view.loadUrl("javascript:[script_per_nascondere_il_menu]");
    }
}

Fonte: https://stackoverflow.com/a/5010864/466938
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline Alexino

  • Nuovo arrivato
  • *
  • Post: 0
    • Mostra profilo
  • Dispositivo Android:
    LG G5
  • Sistema operativo:
    WINDOWS 8
Re:App con WebView funzionante ma...
« Risposta #2 il: 27 Giugno 2017, 19:31:55 CEST »
Grazie mille, mi hai messo sulla strada giusta. Ci lavorerò sopra. :-)