如何prevent GoBack的按钮在Android中网页视图特定的URL? [英] How to prevent GOBACK button for specific URL in Android Webview?

查看:179
本文介绍了如何prevent GoBack的按钮在Android中网页视图特定的URL?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个与出题在我的Andr​​oid 的WebView 工作的Web应用程序。

I have an web application that work on my Android WebView with out problem.

下面是我的Andr​​oid应用程序启动code:

Here is my Android app launcher code:

public class MainActivity extends Activity {

WebView webView;

private String urlAddress = "http://www.YourDomainName.com/TheLoginPage";
private String loadingTxt = "Loading";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Toast loadingMsg = Toast.makeText(this,
            loadingTxt, Toast.LENGTH_SHORT);
    loadingMsg.show();

    webView = (WebView) findViewById(R.id.webview);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.loadUrl(urlAddress);
    webView.setWebViewClient(new myWebViewClient());
    webView.setInitialScale(1);
    webView.getSettings().setUseWideViewPort(true);
}

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (event.getAction() == KeyEvent.ACTION_DOWN) {
        switch (keyCode) {
            case KeyEvent.KEYCODE_BACK:
                if (webView.canGoBack()) {
                    webView.goBack();
                }
                return true;
        }
    }
    return super.onKeyDown(keyCode, event);
}

每一件事情是工作。

Every thing is working.

我的问题:在WebView中默认启动页面的Web应用程序登录页面。成功登录过程之后我想prevent(建立) GO BACK 按钮备份页面的默认起始页(登录页)因为我成功登录?

My Question: the default start page in the WebView is the web application login page. After a successful login process I want to prevent (build in) GO BACK button to back page to the default start page (login page) since I am successfully logged in?

注意:我仍然会使用 GO BACK 按钮到Web应用程序的其余部分,或者如果我再注销了

Note: I will still use the GO BACK button to the rest of the web application or if I logout out again.

推荐答案

在这里,我是怎么解决的,我已经加入是否等于语句比较页面的网址自带的WebView URL登录过程之后,如果它们是相同的然后回去是不允许的,并提示您已登录,这样我prevent回去。这里是code和我的作品:

Here how I solved it, I have added if equals statement to compare the URL of the page that comes after the login process with the WebView URL, if they are identical then GO BACK is disallowed and a message "You are logged in", that way I prevent GO BACK. Here is the code and it works for me:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (event.getAction() == KeyEvent.ACTION_DOWN) {
        switch (keyCode) {
            case KeyEvent.KEYCODE_BACK:
                String url = new String("http://www.YourDomainName.com/PageAfterSuccessfulLogin");
                String webUrl = new String(webView.getUrl());

                if (url.equals(webUrl)) {
                    Toast.makeText(this, "You are logged in",
                            Toast.LENGTH_SHORT).show();
                } else {
                    if (webView.canGoBack()) {
                        Toast.makeText(this, "Back",
                                Toast.LENGTH_SHORT).show();
                        webView.goBack();
                    }
                }
                return true;
        }
    }
    return super.onKeyDown(keyCode, event);
}

这篇关于如何prevent GoBack的按钮在Android中网页视图特定的URL?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆