1.监听Activity的生命周期

在Application的onCreate方法中监听Activity的生命周期
                        
  1. registerActivityLifecycleCallbacks( new ActivityLifecycleCallbacks() {
  2. @Override
  3. public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
  4. }
  5. @Override
  6. public void onActivityStarted(Activity activity) {
  7. }
  8. @Override
  9. public void onActivityResumed(Activity activity) {
  10. MyActivityManager.getInstance().setCurrentActivity(activity);
  11. }
  12. @Override
  13. public void onActivityPaused(Activity activity) {
  14. }
  15. @Override
  16. public void onActivityStopped(Activity activity) {
  17. }
  18. @Override
  19. public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
  20. }
  21. @Override
  22. public void onActivityDestroyed(Activity activity) {
  23. }
  24. });


2.保存当前Activity的状态

                            
  1. package cn.uniwa.uniwa.util;
  2. import android.app.Activity;
  3. import java.lang.ref.WeakReference;
  4. /**
  5. * Created by zhoujian on 2018/1/19.
  6. */
  7. public class MyActivityManager {
  8. private static MyActivityManager sInstance = new MyActivityManager();
  9. private WeakReference sCurrentActivityWeakRef;
  10. private MyActivityManager() {
  11. }
  12. public static MyActivityManager getInstance() {
  13. return sInstance;
  14. }
  15. public Activity getCurrentActivity() {
  16. Activity currentActivity = null;
  17. if (sCurrentActivityWeakRef != null) {
  18. currentActivity = sCurrentActivityWeakRef.get();
  19. }
  20. return currentActivity;
  21. }
  22. public void setCurrentActivity(Activity activity) {
  23. sCurrentActivityWeakRef = new WeakReference(activity);
  24. }
  25. }


3.使用场景

在服务中实时弹出被挤掉的对话框,就需要获取当前的Activity



更多相关文章

  1. eclipse中Android布局的基本操作
  2. android之Buffer类及子类学习
  3. Android简单文件浏览器源代码
  4. 安卓广播监听USB插拔
  5. Android学习笔记(29):搜索框SearchView
  6. Android(安卓)Service 系统服务
  7. Android(安卓)ApiDemos示例解析(15):App->Activity->SetWallpaper
  8. Android快速开发工具集合——YUtils
  9. Android判断当前应用程序处于前台还是后台的两种方法

随机推荐

  1. Tomcat Servlet 往外传输数据(对象 or lis
  2. 小谈android/Linux rootkit(基于LKM)
  3. Android(安卓)Widget 电池插件的开发实现
  4. android远程控制(一)---从PC端写数据到andr
  5. 简单实现android侧边栏效果
  6. Android(安卓)Studio开发生成自己的SDK核
  7. Android(安卓)适配语言、图片、横竖屏、
  8. Android(安卓)材料设计
  9. Android秋招面经
  10. 教你如何使用android studio发布release