package com.mathiasluo.designer.utils;
import android.app.Activity;
import android.app.Application;
import android.content.Context;
import android.os.Bundle;
import java.lang.ref.WeakReference;
/**
* Created by MathiasLuo on 2016/3/6.
*/
public class MyActivityManager {
private WeakReference<Activity> sCurrentActivity;
private MyActivityManager() {
}
public final void init(Application application) {
application.registerActivityLifecycleCallbacks(new Application.ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
}
@Override
public void onActivityStarted(Activity activity) {
}
@Override
public void onActivityResumed(Activity activity) {
setCurrentActivity(activity);
}
@Override
public void onActivityPaused(Activity activity) {
}
@Override
public void onActivityStopped(Activity activity) {
}
@Override
public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
}
@Override
public void onActivityDestroyed(Activity activity) {
}
});
}
public final static MyActivityManager getInstance() {
return ActivityManangerHiolder.instance;
}
private final static class ActivityManangerHiolder {
private final static MyActivityManager instance = new MyActivityManager();
}
public Activity getCurentActivity() {
Activity currentActivity = null;
if (sCurrentActivity != null) {
currentActivity = sCurrentActivity.get();
}
return currentActivity;
}
public void setCurrentActivity(Activity activity) {
sCurrentActivity = new WeakReference<Activity>(activity);
}
}