Verweigert das Starten einer Absicht ohne eine Benutzergeste Webview Android

8

Der Versuch, die lokale HTML-Seite in Android-Webview mit JavaScript-Umleitung umzuleiten, wird beim Starten einer Absicht in Logcat verweigert:

  

Testen auf Android 5.1.1

document.location = "index.html";

Der Start einer Absicht ohne Benutzergeste verweigert, URI:

file:///android_asset/index.html

    
Abdullah 10.10.2015, 00:21
quelle

4 Antworten

34

Ich habe die Dokumentation in 1000 Versuchen Android.developer gelesen und das war meine Lösung

Ich weiß nicht, ob Sie verstehen, ich spreche Spanisch

%Vor%     
Wilber Paredes 21.10.2015, 16:48
quelle
5

Das hat für mich funktioniert:

%Vor%     
Omar Aflak 19.07.2016 09:42
quelle
0

Es gibt einige Probleme hier.

  1. Von den neuesten androids ist der WebView und Chrome Client eine separate Anwendung, die ohne Benutzerabsicht automatisch aktualisiert werden kann.

  2. Von der Version Chrome x & gt; = 25 haben sie geändert, wie die Lade-URL in der Android-Anwendung funktioniert, die die Webview-Komponente verwendet. Ссылка Scheint so, als würden sie sich ändernde URLs ohne Benutzergeste blockieren und von JavaScript-Timern gestartet werden

Die Lösung besteht darin, den Benutzer zu zwingen, URL-Änderungen zu aktivieren, zum Beispiel beim Klicken auf die Schaltfläche.

Sie können auch die oben genannte Methode "shouldOverrideUrlLoading" im WebView-Client überschreiben.

    
Muadib Atrides 02.11.2015 12:48
quelle
-1

Als Alternative habe ich herausgefunden, dass addJavascriptInterface jede Schaltfläche auf FireFaction klicken muss, um JavaScriptInterface

zu aktivieren %Vor%

ist vielleicht kein guter Ansatz, aber zumindest funktioniert es :-) Danke

    
Abdullah 14.10.2015 18:00
quelle

Tags und Links