使用Webview
我在web.Basically中加载web url在webview中加载登录页面web url。该页面允许用户使用像Facebook和Google这样的openid登录。
我的方案是在用户登录后我需要启动另一个活动。到目前为止在网页视图中我加载了登录页面网址。但是现在我需要在加载webview后调用另一个活动 .So请帮助我,我怎么能实现这个目标?提前致谢。
答案 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)您的用户可能最终会盯着空白屏幕。