判断
onActivityResumed() 方法表示进入了前台
onActivityStopped() 方法表示进入了后台
实现方式:
在application中利用接口实现
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
Log.d(TAG, "onActivityCreated");
}
@Override
public void onActivityStarted(Activity activity) {
Log.d(TAG, "onActivityStarted");
mActivityCount++;
}
@Override
public void onActivityResumed(Activity activity) {
Log.d(TAG, "onActivityResumed");
}
@Override
public void onActivityPaused(Activity activity) {
Log.d(TAG, "onActivityPaused");
}
@Override
public void onActivityStopped(Activity activity) {
Log.d(TAG, "onActivityStopped");
mActivityCount--;
}
@Override
public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
Log.d(TAG, "onActivitySaveInstanceState");
}
@Override
public void onActivityDestroyed(Activity activity) {
Log.d(TAG, "onActivityDestroyed");
}
});
完整代码
import android.app.Activity;
import android.app.Application;
import android.os.Bundle;
import android.util.Log;
public class TestActivityLifecycleApplcation extends Application {
private final String TAG = "TestActivityLifecycle";
private static TestActivityLifecycleApplcation mApplcation;
private int mActivityCount = 0;
@Override
public void onCreate() {
super.onCreate();
mApplcation = new TestActivityLifecycleApplcation();
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
Log.d(TAG, "onActivityCreated");
}
@Override
public void onActivityStarted(Activity activity) {
Log.d(TAG, "onActivityStarted");
mActivityCount++;
}
@Override
public void onActivityResumed(Activity activity) {
Log.d(TAG, "onActivityResumed");
}
@Override
public void onActivityPaused(Activity activity) {
Log.d(TAG, "onActivityPaused");
}
@Override
public void onActivityStopped(Activity activity) {
Log.d(TAG, "onActivityStopped");
mActivityCount--;
}
@Override
public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
Log.d(TAG, "onActivitySaveInstanceState");
}
@Override
public void onActivityDestroyed(Activity activity) {
Log.d(TAG, "onActivityDestroyed");
}
});
}
public static TestActivityLifecycleApplcation getInstance() {
if (null == mApplcation)
mApplcation = new TestActivityLifecycleApplcation();
return mApplcation;
}
public int getActivityCount() {
return mActivityCount;
}
}