Ich möchte, dass meine Android-Anwendung Webview verwendet, um ein HTML-Formular anzuzeigen. Wenn der Benutzer die Submit-Schaltfläche drückt, möchte er, dass die Name / Wert-Paare an mein Programm gesendet werden. Wie mache ich das?
Ich habe mir andere ähnliche Fragen angeschaut, aber nicht die Antworten sagen, wie man das konkret macht.
Sehen Sie sich die Verwendung von JavaScript-Schnittstellen in WebView an. Bitte lesen Sie diesen Bereich des Android Developers Guide . Grundsätzlich sollten Sie in der Lage sein, von der Seite zum Gerät mit der Javascript-Schnittstelle zu kommunizieren und Ihre WebView-Aktivität wissen zu lassen, wenn die Submit-Taste gedrückt wird und ihre Werte gesendet werden.
Wenn Sie Name / Wert-Paare speichern und jQuery verwenden möchten, ist das ganz einfach. Angenommen, Sie fügen jQuery in Ihren Ressourcenordner ein, können Sie es in einer Datei lesen:
%Vor%Im WebViewClient, den Sie festgelegt haben (vorausgesetzt, Sie haben den Client überschrieben), können Sie Folgendes tun:
%Vor%Stellen Sie dann sicher, dass Sie ein JavaScript-Interface für Ihre Webansicht mit einer Methode namens "ReturnJSONFromForm (String json)" für "MyJInterface" konfiguriert haben, laden Sie dann das Formular in die Seite und versuchen Sie es dann:
%Vor%Erstellen Sie jetzt in Ihrer Schnittstelle einfach ein JSONObject aus der resultierenden Zeichenkette und fertig! Name / Wert-Paare aus Ihrem Formular.
Serialize wird keine deaktivierten Felder erfassen oder Schaltflächen senden. Wenn Sie das brauchen, gibt es eine komplexere Javascript-Lösung, aber es ist viel schwieriger.