如何在加载 webview 后在 android 中启动另一个 activity?
How to start an another activity in android after webview has been loaded?
正在使用 Webview
正在加载网页 url 在 android.Basically 正在加载网页视图 android.Basically 正在加载登录页面 web url。该页面允许用户使用 openid 登录,例如 Facebook 和Google.
我的场景是在用户登录后我需要启动另一个 activity.So far 在 web 视图中我加载了登录页面 web url。但现在我需要调用另一个activity webview 加载后。所以请帮助我,我怎样才能做到这一点?提前致谢。
覆盖 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
}
}
覆盖 onPageFinished() 并检查您是否在正确的页面上(登录后),否则您的 activity 也会在加载登录页面时打开。
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);
}
}
});
我不确定您想要的确切体验,但一种可能是您在页面上有一个 link 映射到您应用程序的一个 intent 过滤器 - 单击此 link(或将用户重定向到它)将启动您的意图。您应该可能为这样的 link 使用自定义方案。
Android Respond To URL in Intent 显示了如何执行此操作的示例。您可能必须计算出单击此 link 时 UI 会发生什么的一些细节 - 至少您需要向用户提供一些反馈。或者对于重定向,您几乎肯定需要绘制一些 UI - chrome 习惯于转到空白页面以进行重定向以启动应用程序,因此如果您不呈现任何 UI 按照您的意图(并通过重定向或 window.location 启动它)您的用户最终可能会盯着空白屏幕。
正在使用 Webview
正在加载网页 url 在 android.Basically 正在加载网页视图 android.Basically 正在加载登录页面 web url。该页面允许用户使用 openid 登录,例如 Facebook 和Google.
我的场景是在用户登录后我需要启动另一个 activity.So far 在 web 视图中我加载了登录页面 web url。但现在我需要调用另一个activity webview 加载后。所以请帮助我,我怎样才能做到这一点?提前致谢。
覆盖 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
}
}
覆盖 onPageFinished() 并检查您是否在正确的页面上(登录后),否则您的 activity 也会在加载登录页面时打开。
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);
}
}
});
我不确定您想要的确切体验,但一种可能是您在页面上有一个 link 映射到您应用程序的一个 intent 过滤器 - 单击此 link(或将用户重定向到它)将启动您的意图。您应该可能为这样的 link 使用自定义方案。
Android Respond To URL in Intent 显示了如何执行此操作的示例。您可能必须计算出单击此 link 时 UI 会发生什么的一些细节 - 至少您需要向用户提供一些反馈。或者对于重定向,您几乎肯定需要绘制一些 UI - chrome 习惯于转到空白页面以进行重定向以启动应用程序,因此如果您不呈现任何 UI 按照您的意图(并通过重定向或 window.location 启动它)您的用户最终可能会盯着空白屏幕。