登录成功后启动新活动(在同一个应用程序内)

时间:2015-03-17 08:09:26

标签: android android-webview

以下是我的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
        }
    });
你能帮帮忙吗?提前谢谢!

2 个答案:

答案 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);
        }