Android Webview App: scrollen & mailto links

Ich habe mit Hilfe der Tutorials eine kleine Android App geschrieben, die eigentlich nichts anderes als ein Webview ist – man ruft damit eine bestimmte Seite auf, nur eben nicht über den Browser sondern über die App. Da stieß ich mit meinem Samsung Galaxy SIII auf 2 Probleme:

1. scrollen (jquery autoscoll, touchcarousel) funktionierte nicht

Ich habe zig jquery scripts zum Scrollen ausprobiert, bis ich über iscroll-4 zufällig auf die Lösung stieß. Man muss nachdem die Seite fertig geladen ist folgendes ausführen:

document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false);

Und plötzlich klappte das mit dem scrollen wieder einwandfrei!

2. mailto Links wurden nicht korrekt behandelt.

Dieses Problem muss man direkt in der App angehen, in der Funktion die WebViewClient extended schreibt man sich die shouldOverrideUrlLoading etwas um:

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            if(url.startsWith("mailto:")){
                MailTo mt = MailTo.parse(url);
                Intent i = newEmailIntent(CreareActivity.this, mt.getTo(), mt.getSubject(), mt.getBody(), mt.getCc());
                startActivity(i);
                view.reload();
                return true;
            }else{          
                view.loadUrl(url);
            }
            return true;
        }

Danke an diesen Beitrag in stackoverflow für diesen tollen Geheimtipp!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.