Skip to content

Instantly share code, notes, and snippets.

@EvlinLee
Last active September 18, 2015 07:56
Show Gist options
  • Select an option

  • Save EvlinLee/07da15126269f0c249a9 to your computer and use it in GitHub Desktop.

Select an option

Save EvlinLee/07da15126269f0c249a9 to your computer and use it in GitHub Desktop.
Android判断APP是否在前台运行
public class MyActivityLifecycleCallbacks implements Application.ActivityLifecycleCallbacks {
private int foregroundActivities;
private boolean hasSeenFirstActivity;
private boolean isChangingConfiguration;
@Override public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
}
@Override public void onActivityStarted(Activity activity) {
mForegroundActivities++;
if (hasSeenFirstActivity && foregroundActivities == 1 && !isChangingConfiguration) {
applicationDidEnterForeground(activity);
}
hasSeenFirstActivity = true;
isChangingConfiguration = false;
}
@Override public void onActivityResumed(Activity activity) {
}
@Override public void onActivityPaused(Activity activity) {
}
@Override public void onActivityStopped(Activity activity) {
foregroundActivities--;
if (foregroundActivities == 0) {
applicationDidEnterBackground(activity);
}
isChangingConfiguration = activity.isChangingConfigurations();
}
@Override public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
}
@Override public void onActivityDestroyed(Activity activity) {
}
}
@EvlinLee
Copy link
Author

实现了自己的类之后,就可以调用Application的registerActivityLifecycleCallback方法,将我们的类MyActivityLifecycleCallbacks注册进去,这样就可以实现对Activity生命周期的监听了。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment