我有FragmentActivity
。在onPause
函数中,我想区分
onPause
被调用)对于后退按钮按下的情况,我知道我可以使用this.isFinishing() == true
来区分它。
但是,如何启动新的活动案例?
我知道也许我可以在启动新活动之前设置一个标志,并在onPause
函数结束时重置标志。但是,这听起来并不优雅。有没有更好更强大的方式?
答案 0 :(得分:0)
您可以创建一个单一类来跟踪您的活动何时开始/恢复/暂停/停止。创建一个基类Activity类,在每个生命周期回调中调用单例。
如果您在活动之间转换时查看回调的顺序,您应该看到:
Pause Activity A
Create Activity B
Start Activity B
Resume Activity B
Stop Activity A
当您从活动A的onStop()调用您的单身人士时,您可以检查来自另一个活动(明显属于您的应用)的onResume()是否有来电。如果没有,您知道用户已更改应用程序或返回主屏幕。
关于后退按钮,您可以查看isFinishing()
,或覆盖Activity.onBackPressed()
并在那里进行簿记。