获取栈顶Activity

仅仅是为了给自己记录用

private void initGlobeActivity() {

/**

* 获取栈顶activity

*/

    registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {

@Override

        public void onActivityCreated(Activity activity, Bundle savedInstanceState) {

}

@Override

        public void onActivityDestroyed(Activity activity) {

}

@Override

        public void onActivityStarted(Activity activity) {

}

@Override

        public void onActivityResumed(Activity activity) {

MyActivityManager.getInstance().setCurrentActivity(activity);

        }

@Override

        public void onActivityPaused(Activity activity) {

}

@Override

        public void onActivityStopped(Activity activity) {

}

@Override

        public void onActivitySaveInstanceState(Activity activity, Bundle outState) {

}

});

}
public class MyActivityManager {

private static MyActivityManagersInstance =new MyActivityManager();

    private WeakReferencesCurrentActivityWeakRef;

    private MyActivityManager() {

}

public static MyActivityManagergetInstance() {

return sInstance;

    }

public ActivitygetCurrentActivity() {

Activity currentActivity =null;

        if (sCurrentActivityWeakRef !=null) {

currentActivity =sCurrentActivityWeakRef.get();

        }

return currentActivity;

    }

public void setCurrentActivity(Activity activity) {

sCurrentActivityWeakRef =new WeakReference(activity);

    }

}

调用 MyActivityManager.getInstance().getCurrentActivity();

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容