如何在Android WebView中包含BACK键

时间:2012-05-07 00:19:34

标签: android webview

我已经浏览了这个网站,谷歌和另一个Android论坛的答案,但我找不到一个有用的。

我正在尝试在我的Android WebView应用中包含BACK键,因为否则BACK键只会退出活动。

我是Android的新手,所以我不知道所有的编程都是如此。 有人能指出我正确的方向吗?

谢谢!

3 个答案:

答案 0 :(得分:4)

截取Activity中的BACK按钮,如下所示......

public class MyWebActivity extends Activity {

    WebView webview;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // Other code here
        webview = new WebView(this);
    }

    // Other methods here

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
            webview.goBack();
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }
}

Hello WebView Tutorial

的第9部分进行了解释

答案 1 :(得分:1)

在您的活动中覆盖onbackpressed。

@Override
public void onBackPressed() {

}

如果你不想在背面按下关闭你的活动,那么你可以简单地删除super.onBackPressed(),这将不允许完成你的活动,你的活动将在没有关闭的情况下在背景上正常工作。

答案 2 :(得分:0)

例如,即时通过Android在我的WebView中捕获URL;

在你的方法shouldOverrideUrlLoading:

public boolean shouldOverrideUrlLoading(WebView view, String url)
            {
                view.loadUrl(url);
                webView.getUrl();
                if( url.equals("http://any.com/url") ){
                   //Do any action
                    Toast tr =Toast.makeText(WebViewTest.this, "Test Passed", Toast.LENGTH_LONG);
                    tr.show();
                    //Go to other activity or you can put finish(); to stop the actual activity
                   //Do other action
                    Intent i1 = new Intent("com.mypack.courses.Passed");
                    startActivity(i1);;
                    return true;
                }
                if( url.equals("http://any.com/url") ){
                    Toast tr =Toast.makeText(WebViewTest.this, "Test Failed", Toast.LENGTH_LONG);
                    tr.show();

                   Intent i2 = new Intent("com.mypack.courses.Failed");
                   startActivity(i2);
                    return true;
                }
                return true;
            }

在这种情况下,如果用户通过Webview点击“”http://any.com/url“,我们会采取任何行动,只需提出您的条件或方法,以及您希望在那里做的任何地方,希望这给你提出了想法......