android 应用程序从后台切换到前台运行的事件

如何判断当前我的应用程序从后台切换到了前台运行,比如按了HOME键,我的应用退到的后台,然后在点击我的应用图标此时恢复到之前运行的状态,回到之前活动的Activity,系统会否有相关的事件被触发,如何捕获这个事件

阅读 37.9k
2 个回答

有一个监听器,在Application中,叫ActivityLifeCycleCallback
你可以注册自己的LifeCycleCallback,然后记录所有start之后的activity
当你的列表不为空,你的应用就在前台,否则就在后台,当你的应用其中有一个Activity启动的时候,你的callback就会收到通知。

看了你们的评论 补充下楼上的

如果你需要在API14以下实现该功能,那么首先写一个BaseActivity,重载onStart onResume,onPause,onStop,自己维护一个Activity栈,记录每个Activity的状态,保证应用内所有Activity都继承该BaseActivity

然后在onResume时,检查当前Activity栈内是否所有Activity都处于pause状态,就可以判断是否是 后台 切换到 前台.


其实我觉得还是不要支持API14以下比较方便

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题