我正在用Java开发一个android应用程序,其中每当一个活动被完全销毁时,我都需要触发一些数据库请求,如果用户按下后退按钮或离开应用程序本身,可能会发生...但是在我的onDestroy()函数中即使用户仍在活动中,应用程序也会随机触发。我猜可能是因为配置更改,但我无法为此找到合适的解决方案。

有没有一种方法可以准确地检测用户何时离开活动,从而避免任何页内配置更改?

我正在使用的onDestroy()是这样的:

@Override
protected void onDestroy() {
   /// do smthng
   super.onDestroy();
}


任何帮助,将不胜感激!!

最佳答案

如果要检查用户是否结束活动(即按回去),请执行以下操作:

@override
public void onBackPressed(){

//do something before we finish the activity

super.onBackPressed();

}


如果要检查用户何时进入下一个活动,然后返回到同一活动:

@override
public void onResume(){

//do something when return back to this activity

super.onResume();

}


@override
public void onPause(){

//do something before going to another activity

super.onPause();

}


当活动被销毁或结束并且不能保证总是被调用时,onDestroy被调用,不要依赖它

07-24 09:49
查看更多