如何判断onPause()
是因为我的活动是否已启动新活动(例如照片选择器意图),还是因为用户离开了我的活动(例如,通过按回家)?
答案 0 :(得分:1)
一个简单的解决方案是state
中的Activity
变量带有一些固定值:
final static int RUNNING = 0;
final static int CALLED_SOMETHING = 1;
int state = RUNNING:
然后,每当您启动活动时:
state = CALLED_SOMETHING;
当它返回时:
state = RUNNING;
在您的onPause()
:
switch(state) {
case RUNNING:
// Do the stuff if Home etc were pressed
break;
case CALLED_SOMETHING:
// Do the other stuff
break;
}
显然,您可以将其扩展到更多场景。您可能还希望抓住onBackPressed()
以确保尽可能多地了解情况。