登录成功后启动新的 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);
        }
    }