以下是我的URL覆盖代码。用户成功登录后,我的主要活动会加载下一个网页。但我想重定向到新活动(仅在我的应用程序中),以便更好地提升用户体验。我该怎么做呢?以下代码无效。我在Firefox中使用Debugger跟踪了成功的登录事件,并使用了URL“app?service”的特定部分。
注意:此代码仅在新加载的网页中发生任何点击事件后才有效。我希望在成功登录后自动发生这种情况。
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.contains("app?service")) {
Intent intent = new Intent(Login.this, Status.class);
intent.putExtra("url", url);
startActivity(intent);
}
return true;
}
@Override
public void onPageFinished(WebView view, String url) {
//my code
}
});
你能帮帮忙吗?提前谢谢!
答案 0 :(得分:2)
在onPageFinished()
方法
@Override
public void onPageFinished(WebView view, String url) {
if (url.contains("app?service")) {
Intent intent = new Intent(Login.this, Status.class);
intent.putExtra("url", url);
startActivity(intent);
}
}
答案 1 :(得分:0)
尝试以下代码,此方法将自动调用。
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
if (url.contains("app?service")) {
Intent intent = new Intent(Login.this, Status.class);
intent.putExtra("url", url);
startActivity(intent);
//return true;
}
return super.shouldInterceptRequest(view, url);
}