拒绝在没有用户手势的情况下启动意图Webview Android
尝试使用Javascript重定向在android webview中重定向本地html页面时,在Logcat中启动意图被拒绝: android 5.1.1上的测试拒绝在没有用户手势的情况下启动意图Webview Android,android,android-intent,webview,Android,Android Intent,Webview,尝试使用Javascript重定向在android webview中重定向本地html页面时,在Logcat中启动意图被拒绝: android 5.1.1上的测试 document.location=“index.html” 拒绝在没有用户手势的情况下启动意图,URI: file:///android_asset/index.html作为替代方案,我发现应该将addJavascriptInterface每个按钮单击事件触发操作添加到JavascriptInterface webView.addJ
document.location=“index.html”代码>
拒绝在没有用户手势的情况下启动意图,URI:
file:///android_asset/index.html
作为替代方案,我发现应该将addJavascriptInterface每个按钮单击事件触发操作添加到JavascriptInterface
webView.addJavascriptInterface(new java2JSAgent(), "java2JSAgentVar"); //webView webview object
public class java2JSAgent
{
@JavascriptInterface
public String getContacts()
{
String jsonResponse = "{result:'redirected'}";
runOnUiThread(new Runnable() {
@Override
public void run() {
webView.loadUrl("file:///android_asset/index.html");
}
});
return jsonResponse;
}
}
可能不是一个好方法,但至少它是有效的:-)
谢谢我在1000次尝试Android.developer中阅读了文档,这就是我的解决方案
我不知道你是否明白,我说西班牙语
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
});
这里没有什么问题
从最新的androids,WebView和Chrome客户端是分开的应用程序,可以自动更新,而无需用户的意图
从Chrome x>=25版本开始,他们改变了加载url在使用webview组件的android应用程序中的工作方式。看起来他们正在阻止更改url,而没有用户手势,并且是从JavaScript计时器启动的
这里的解决方案是强制用户激活URL更改,例如单击按钮
此外,您还可以在WebView客户端中重写上面提到的“shouldOverrideUrlLoading”方法。这对我很有用:
webView.setWebViewClient(new WebViewClient());
很有魅力,谢谢你@Abdullah如果这对您有效,请接受此答案。默认情况下,WebViewClient的默认实现包括返回false。Check.Kotlin:webView.webViewClient=webViewClient()