如果用户最小化应用程序,然后在onResume()
内部调用了刷新功能,然后它将回来,它将刷新服务器中的数据列表。问题是,当用户从另一个活动中回来时,会使用相同的功能,但具有不同的参数(和不同的用例)。它将仅部分刷新列表(不是所有数据)。如果调用了onResume()
,是否有可能阻止onActivityResult()
方法的调用?
答案 0 :(得分:1)
有一种方法可以实现这一目标,
onActivityResult
在致电之前会被呼叫
onResume
因此,您可以在此处添加标志并检查必要条件。是否出现在其他屏幕上。
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (resultCode == Activity.RESULT_OK && requestCode == 3214) {
cameFromOtherScreen = true; }
override fun onResume() {
super.onResume()
if(!cameFromOtherScreen) {
//do your thing }
}
答案 1 :(得分:0)
首先像这样设置全局布尔变量:-
boolean isPaused = false;
现在在您的活动中设置方法:-
@Override
protected void onUserLeaveHint() {
isPaused = true;
super.onUserLeaveHint();
}
或您的onResume方法中:-
@Override
protected void onResume() {
if(isPaused){
isPaused = false;
super.onResume();
}
}