[JAVA] Was tun, wenn das Laden der SPA-URL von WebView nicht erkannt werden sollte

Einführung

Ich denke, es ist eine übliche Methode, shouldOverrideUrlLoading zu verwenden, um das Laden von URLs in Android WebView zu erkennen. Bei Seiten wie SPA (Single Page Application), bei denen Submit nicht ausgeführt wird, erkennt diese Methode Ereignisse. Ich kann nicht

Weise

Verwenden Sie die doUpdateVisitedHistory des WebViewClient. doUpdateVisitedHistory ist eine Datenbank mit besuchten Links Die zu aktualisierende Methode.

mWebView.setWebViewClient( new WebViewClient(){
            @TargetApi(Build.VERSION_CODES.LOLLIPOP)
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
                Log.d(TAG, "shouldOverrideUrlLoading LOLLIPOP url = " + request.getUrl().toString());
                return false;
            }

            @SuppressWarnings("deprecation")
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                Log.d(TAG, "shouldOverrideUrlLoading url = " + url);
                return false;
            }

            @Override
            public void doUpdateVisitedHistory(WebView view, String url, boolean isReload) {
                Log.d(TAG, "doUpdateVisitedHistory url = " + url);
            }
        });

Greifen wir jetzt über WebView auf das SPA zu.

06-29 10:10:50.756 13453-13453/jp.sample D/WebViewFragment: doUpdateVisitedHistory url = https://xxxx/profile/home
06-29 10:34:41.636 13453-13453/jp.sample D/WebViewFragment: doUpdateVisitedHistory url = https://xxxx/connect
06-29 10:34:41.658 13453-13453/jp.sample D/WebViewFragment: doUpdateVisitedHistory url = https://xxxx/logout
06-29 10:34:41.671 13453-13453/jp.sample D/WebViewFragment: doUpdateVisitedHistory url = https://xxxx/connect
06-29 10:34:44.131 13453-13453/jp.sample D/WebViewFragment: doUpdateVisitedHistory url = https://xxxx/signin
06-29 10:34:54.526 13453-13453/jp.sample D/WebViewFragment: doUpdateVisitedHistory url = https://xxxx/auth/callback?token=xxxx

Ich konnte es sicher erkennen!

Recommended Posts

Was tun, wenn das Laden der SPA-URL von WebView nicht erkannt werden sollte
Was tun, wenn der Befehl adb nicht ausgeführt werden kann?
Was tun, wenn JavaMail nicht mit OpenJDK 11 oder höher verwendet werden kann?
Was tun, wenn der Rails-Server nicht gestoppt werden kann?
Was tun, wenn der Build mit dem Fehler "Mit Swift x.x.x kompiliertes Modul kann vom Swift x.x.x-Compiler nicht importiert werden" fehlschlägt.
Was tun, wenn CentOS nicht mit VirtualBox unter Catalina gestartet werden kann?
Was tun, wenn die Bereitstellung in Heroku fehlschlägt (Ruby-App nicht erkannt)?
Was tun, wenn Ihnen der von swagger-codegen-cli generierte Code nicht gefällt?
Was tun, wenn Sie das mit bootstrap-select erstellte Auswahlfeld nicht aktivieren können?
[Ubuntu] Was tun, wenn MongoDB aufgrund eines SocketException-Fehlers nicht gestartet werden kann?
Was tun, wenn der Server-Tomcat stirbt?
Was tun, wenn Sie falsche Informationen eingeben?
Was tun, wenn mvn archetype: generate fehlschlägt?
[React.useRef] Was tun, wenn im Ereignis-Listener nicht auf den neuesten Status verwiesen werden kann?
Was tun, wenn Sie den Befehl "Java-Paketname / Klassenname" nicht ausführen können?
Was tun, wenn die Installation des Debug-Gems fehlschlägt?
Was tun, wenn der Rails-Server nicht gestartet werden kann?
Was tun, wenn beim Starten von Tomcat eine ClassNotFoundException auftritt?
Was tun, wenn TextToSpeech unter Android 11 nicht funktioniert?
Was tun, wenn Sie versehentlich ein Modell erstellen?
Was tun, wenn ein ActionController :: UnknownFormat-Fehler auftritt?
[Rails] Was ist zu tun, wenn Rails db: migrate nicht ausgeführt werden kann, da keine Tabelle vorhanden ist, auf die der externe Schlüssel verweist?
[Java] [Spring] Was tun, wenn Sie nach dem Kommentieren von Spring Security nicht automatisch mit Type Mismatch verdrahten können?
Was tun, wenn das Git-Repository nicht im Azure Team Explorer für Eclipse angezeigt werden kann?
Was tun, wenn in GlassFish eine java.io.IOException auftritt?
Was ist zu tun, wenn Ausdrucksoperatoren nicht auf die Methodenbindung angewendet werden können?
Was tun, wenn mysql2 einen Bundle-Installationsfehler erhält?
Was tun, wenn der Befehl Rails unbrauchbar wird?
Was ist mit dem Fehler "Kann nicht gelesen werden oder ist keine gültige ZIP-Datei?" Zu tun