2013-07-19 48 views
0

我的简单应用程序正在加载一个网站,在网站上有一些话题,所以我想如果有人点击返回按钮返回到索引(到最后一个网页), 我在MainActivity.java中有此代码关闭应用程序的Android后退按钮

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 
     moveTaskToBack(true); 
    } 
    return super.onKeyDown(keyCode, event); 
}  
@Override 
public void onBackPressed() { 
    moveTaskToBack(true); 
} 

后推按钮它关闭我的应用程序,哪里可以是问题?

+1

在webview或浏览器中加载网站? –

+0

它在webview中加载 – dontHaveName

+0

这是一个示例代码,它可以完美地运行http://www.technotalkative.com/android-webviewclient-example/ –

回答

3

当webView在您的onKeyDown方法中使用back事件时,您应该返回true。

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

在您的代码中,您将back事件传播到主Activity,这意味着它将完成。

来源:http://developer.android.com/reference/android/view/View.html#onKeyDown(int,android.view.KeyEvent)

返回如果你处理的事件,返回true。如果你想让事件由下一个接收者处理,返回false。

1
@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if ((keyCode == KeyEvent.KEYCODE_BACK) && web.canGoBack()) { 
     web.goBack(); 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 
相关问题