方法一:

public class MyApplication extends Application implements Application.ActivityLifecycleCallbacks {    private String TAG="MyApplication";    @Override    public void onCreate() {        super.onCreate();        registerActivityLifecycleCallbacks(this);    }    public int count = 0;    @Override    public void onActivityStopped(Activity activity) {        Log.v(TAG, activity + "onActivityStopped");        count--;        if (count == 0) {            Log.v(TAG, "切到后台");        }    }    @Override    public void onActivityStarted(Activity activity) {        Log.v(TAG, activity + "onActivityStarted");        if (count == 0) {            Log.v(TAG, "切到前台");        }        count++;    }    @Override    public void onActivitySaveInstanceState(Activity activity, Bundle outState) {        Log.v(TAG, activity + "onActivitySaveInstanceState");    }    @Override    public void onActivityResumed(Activity activity) {        Log.v(TAG, activity + "onActivityResumed");    }    @Override    public void onActivityPaused(Activity activity) {        Log.v(TAG, activity + "onActivityPaused");    }    @Override    public void onActivityDestroyed(Activity activity) {        Log.v(TAG, activity + "onActivityDestroyed");    }    @Override    public void onActivityCreated(Activity activity, Bundle savedInstanceState) {        Log.v(TAG, activity + "onActivityCreated");    }}

方法二:


@Overrideprotected void onStart() {    super.onStart();    isCurrentRunningForeground = isRunningForeground(this);    if (isCurrentRunningForeground) {        Log.d(TAG, "切到前台 activity process");    }}@Overrideprotected void onStop() {    super.onStop();    isCurrentRunningForeground = isRunningForeground(this);    if (!isCurrentRunningForeground) {        Log.d(TAG, "切到后台 activity process");    }}public boolean isRunningForeground(Context context) {    ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);    List appProcessInfos = activityManager.getRunningAppProcesses();    // 枚举进程    for (ActivityManager.RunningAppProcessInfo appProcessInfo : appProcessInfos) {        if (appProcessInfo.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {            if (appProcessInfo.processName.equals(context.getApplicationInfo().processName)) {                Log.d(TAG, "切到前台");                return true;            }        }    }    Log.d(TAG, "切到后台");    return false;}


更多相关文章

  1. 浅谈Java中Collections.sort对List排序的两种方法
  2. Python list sort方法的具体使用
  3. python list.sort()根据多个关键字排序的方法实现
  4. android ViewPager 使用方法
  5. android Dialog无法获取窗口问题闪退
  6. Android(安卓)方法数超过64k限制的解决办法
  7. android的Services生命周期和使用方法
  8. Android(安卓)Context相关总结
  9. Android中onSaveInstanceState和onRestoreInstanceSt...

随机推荐

  1. Android图集的上下左右拖动及动画效果研
  2. Android(安卓)logcat保存当前应用程序的
  3. Android截屏事件监听
  4. Android制造 FaceID [FaceNet + MobileNe
  5. Android(安卓)安卓动画 属性动画 - 移动
  6. 详细讲解Android(安卓)SDK Manager下载AP
  7. Android日记之2012\01\01
  8. Android(安卓)studio导入library的正确方
  9. Android中获取TextView行数
  10. Opencv4.1链接so错误(android sdk) error: