我正在创建一个使用SAML和OAUTH2的登录名。为了获得登录令牌,我需要打开一个web视图,用户可以在其中输入他的登录凭据并推送登录。当他完成此操作后,它会重定向到一个带有SAML响应的页面。当收到此回复时,我需要能够关闭我创建的web视图。现在的问题是我无法关闭web视图并返回活动布局。以下是我用来创建活动和显示web视图的代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
final WebView webview = new WebView(this);
Button saxoLogin = (Button) findViewById(R.id.saxologin);
theLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Call private method
setContentView(webview);
webview.getSettings().setJavaScriptEnabled(true);
webview.postUrl(url, SAMLreq.getBytes());
debug.append("does this even work?");
我尝试使用:webview.setVisibility()
方法并将其设置为不可见。我也尝试过使用setContentView(R.layout.activity_login)
但第一个只是使查看器不可见,并且不会恢复活动布局和梯形图生成和错误。
不要调用setContentView两次。您应该将您的网络视图放在activity_login文件中,如:
<WebView android:id="@+id/webview"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:visibility="invisible"/>
当单击登录按钮时,请执行操作。另外,不要忘记为您的网络视图设置可见性。setVisibility(View.VISIBLE).
希望它能帮助