登录成功后启动新的 activity(在同一个应用程序中)
Launch new activity (within same app) after login successful
以下是我的 URL 覆盖代码。用户成功登录后,我的主要 activity 加载下一个网页。但我想重定向到新的 activity(仅在我的应用程序内),以便改善用户体验。我该怎么做呢?以下代码不起作用。我在 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
}
});
你能帮忙吗?提前致谢!
试试下面的代码,这个方法会自动调用。
@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);
}
将您的代码移至 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);
}
}
以下是我的 URL 覆盖代码。用户成功登录后,我的主要 activity 加载下一个网页。但我想重定向到新的 activity(仅在我的应用程序内),以便改善用户体验。我该怎么做呢?以下代码不起作用。我在 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
}
});
你能帮忙吗?提前致谢!
试试下面的代码,这个方法会自动调用。
@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);
}
将您的代码移至 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);
}
}