我正在用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被调用,不要依赖它