Last active
September 18, 2015 07:56
-
-
Save EvlinLee/07da15126269f0c249a9 to your computer and use it in GitHub Desktop.
Android判断APP是否在前台运行
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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) { | |
| } | |
| } |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
实现了自己的类之后,就可以调用Application的registerActivityLifecycleCallback方法,将我们的类MyActivityLifecycleCallbacks注册进去,这样就可以实现对Activity生命周期的监听了。