如何覆盖android后退按钮以添加功能

如何覆盖android后退按钮以添加功能,android,Android,我想覆盖android的后退按钮,我找到了这样做的代码 @Override public void onBackPressed() { } 但现在当我这么做的时候,后退按钮不起作用 如何在此函数中进行函数调用,例如取消网络请求。那么amd还让默认行为发生吗 我现在在onStop()活动方法中这样做 @Override protected void onStop() { super.onStop(); Network.cancelRequests(ConnectingActivi

我想覆盖android的后退按钮,我找到了这样做的代码

@Override
public void onBackPressed() {
}
但现在当我这么做的时候,后退按钮不起作用

如何在此函数中进行函数调用,例如取消网络请求。那么amd还让默认行为发生吗

我现在在onStop()活动方法中这样做

@Override
protected void onStop() {
    super.onStop();
    Network.cancelRequests(ConnectingActivity.this);
}

但是,我认为当用户按下后退按钮时,不会立即调用此命令,因为网络请求的响应仍在处理中。

请按以下方式使用它:

@Override
public void onBackPressed() {
    //your method call
    super.onBackPressed();
}

按以下方式使用:

@Override
public void onBackPressed() {
    //your method call
    super.onBackPressed();
}

最常见的错误是忘记调用超级
super

@Override
public void onBackPressed() {
    //your custom code here        
    super.onBackPressed();
}

最常见的错误是忘记调用超级
super

@Override
public void onBackPressed() {
    //your custom code here        
    super.onBackPressed();
}
@凌驾 public void onBackPressed(){

super.onBackPressed(); Network.cancelRequests(ConnectingActivity.this)

完成()

}@覆盖 public void onBackPressed(){

super.onBackPressed(); Network.cancelRequests(ConnectingActivity.this)

完成()


}

改用此方法
@Override public boolean onKeyDown(int-keyCode,KeyEvent-event){if(keyCode==KeyEvent.keyCode\u-BACK){return true;}return super.onKeyDown(keyCode,event);}
因此,如果要执行正常行为,只需在if条件下返回false即可。希望它能帮助你。当你重写这个方法时。别忘了调用super.onBackPressed()您是否尝试过调用
Network.cancelRequests(ConnectingActivity.this)
OnCreate()
中改用此方法
@Override public boolean onKeyDown(int-keyCode,KeyEvent-event){if(keyCode==KeyEvent.keyCode\u-BACK){return true;}return super.onKeyDown(keyCode,event);}
因此,如果要执行正常行为,只需在if条件下返回false即可。希望它能帮助你。当你重写这个方法时。别忘了调用super.onBackPressed()您是否尝试过调用
Network.cancelRequests(ConnectingActivity.this)
在我的屏幕上,你的
OnCreate()
里面说HPTerm比我读错的更快,比我读错的快12秒。唯一重要的是你的问题得到了解决。我显示快了8秒,但HpTerm的想法是正确的。您的问题已经解决。@Zapnologica您可以验证TronicZomB是最快的答案。我不是在争名夺利,问题是帮助别人解决他们的问题。此外,对我来说,TronicZomB比我快了几秒。在我的屏幕上,它说HPTerm比我误读的更快,比我快了12秒。唯一重要的是你的问题得到了解决。我显示快了8秒,但HpTerm的想法是正确的。您的问题已经解决。@Zapnologica您可以验证TronicZomB是最快的答案。我不是在争名夺利,问题是帮助别人解决他们的问题。此外,对我来说,TronicZomB比TronicZomB快了几秒钟。