Android 判断应用运行的前台还是后台

今天有一个需求是这样的,我们在应用聊天页面时,如有新消息,则有以下两种情况:

1、应用在前台运行:此时没有新消息提醒

2、应用在后台运行:需要新消息提醒 

想要实现这个需求就需要我们判断应用是在前台运行还是后台运行,网上搜的方法不多都不太好用,即使应用在后台运行,查出来的结果也是前台运行。实属苦恼...

后来得知一个神奇的“家伙” ActivityLifecycleCallbacks

那么问题来了,这个东西怎么用呢?

很简单,在我们应用的Application的onCreate()方法里注册一下就行了,

需要注意的是要求API 14+ (Android 4.0+),如果你的应用需要兼容Android 4.0一下的版本,就不能使用这个方法了。

代码如下:

Android 判断应用运行的前台还是后台