2012-02-23 33 views
3

我们可以改写硬件后退按钮功能吗?我有点困惑,这对我有帮助。改写Android硬件后退按钮功能

+0

请检查这个http://stackoverflow.com/questions/3614849/intercepting-the-back-button – 2012-02-23 09:36:36

+0

有很多重复的问题 – 2012-02-23 09:36:43

+0

由于方式已在别人的答案中提供,我只想说一个事情:注意官方文档:“不要接管Back按钮,除非你绝对需要”https://developer.android.com/guide/practices/ui_guidelines/activity_task_design.html,因为它打破了用户体验整个系统。 – coolcfan 2012-02-23 09:41:58

回答

6
@Override public void onBackPressed(){ 
    //do your stuff here 
} 

如果涉及到特定的键东西,那么你可以去这样的:

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.Any_Key_Code) { 
     //your stuff here 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 
2

看到这个

public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 

     Toast.makeText(getApplicationContext(), "back button pressed", 
       Toast.LENGTH_SHORT).show(); 
     return true; 
    } 

    return super.onKeyDown(keyCode, event); 
} 
2
@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 
     // do your stuff here 
     return true; 
    } 
    return super.onKeyDown(keyCode, event); 
} 
8

您还可以覆盖onBackPressed()

@Override 
public void onBackPressed(){ 
    //Your action 
} 
1
@Override 
public void onBackPressed() { 
    // Action to be performed 
    super.onBackPressed(); 
}