加载webview后如何在android中启动另一个活动?

时间:2015-01-20 11:29:11

标签: android webview

使用Webview我在web.Basically中加载web url在webview中加载登录页面web url。该页面允许用户使用像Facebook和Google这样的openid登录。

我的方案是在用户登录后我需要启动另一个活动。到目前为止在网页视图中我加载了登录页面网址。但是现在我需要在加载webview后调用另一个活动 .So请帮助我,我怎么能实现这个目标?提前致谢。

3 个答案:

答案 0 :(得分:2)

覆盖onPageFinished()并检查您是否在正确的页面上(登录后),否则您的活动也将在加载登录页面时打开。

webView.setWebViewClient(new WebViewClient(){
    @Override
    public void onPageFinished(WebView view, String url) {
        if(url.equals("url after sucessfull login")){
            Intent intent = new Intent(getApplicationContext(), YourActivity.class);
            startActivity(intent);
        }
    }
});

答案 1 :(得分:1)

覆盖WebViewClient的onPageFinished

 private class WebActivity extends WebViewClient {

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
    view.loadUrl(url);
    return true;
 }


  @Override
  public void onPageFinished(WebView view, String url) {
   super.onPageFinished(view, url);
    //Call another activity
    }
 }

答案 2 :(得分:0)

我不确定您的确切体验,但有一种可能性是您在页面上有一个链接,该链接映射到您应用的某个意图过滤器 - 点击此链接(或将用户重定向到该链接)发起你的意图。您可能使用自定义方案进行此类链接。

Android Respond To URL in Intent显示了如何执行此操作的示例。当点击此链接时,您可能需要弄清楚UI发生的一些细节 - 至少您需要向用户提供一些反馈。或者对于重定向,您几乎肯定需要绘制一些UI - chrome有一个习惯,即在启动应用程序的重定向中转到空白页面,因此如果您没有使用您的意图呈现任何UI(并通过重定向启动它)或者window.location)您的用户可能最终会盯着空白屏幕。