Android判断APP是否在前台运行

下面是编程之家 jb51.cc 通过网络收集整理的代码片段。

编程之家小编现在分享给大家,也给大家做个参考。

public class MyActivityLifecycleCallbacks implements Application.ActivityLifecycleCallbacks { 
    private int foregroundActivities;
    private boolean hasSeenFirstActivity;
    private boolean isChangingConfiguration;
    @Override public void onActivityCreated(Activity activity,Bundle savedInstanceState) {
    }
 
    @Override public void onActivityStarted(Activity activity) {
        mForegroundActivities++;
        if (hasSeenFirstActivity && foregroundActivities == 1 && !isChangingConfiguration) {
            applicationDidEnterForeground(activity);
        }
        hasSeenFirstActivity = true;
        isChangingConfiguration = false;
    }
    @Override public void onActivityResumed(Activity activity) {
    }
 
    @Override public void onActivityPaused(Activity activity) {
    }
 
    @Override public void onActivityStopped(Activity activity) {
        foregroundActivities--;
        if (foregroundActivities == 0) {
            applicationDidEnterBackground(activity);
        }
        isChangingConfiguration = activity.isChangingConfigurations();
    }
 
    @Override public void onActivitySaveInstanceState(Activity activity,Bundle outState) {
    }
 
    @Override public void onActivityDestroyed(Activity activity) {
    }
}

实现了自己的类之后,就可以调用Application的registeractivityLifecycleCallback方法,将我们的类MyActivityLifecycleCallbacks注册进去,这样就可以实现对Activity生命周期的监听了。

以上是编程之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

相关文章

Java中的String是不可变对象 在面向对象及函数编程语言中,不...
String, StringBuffer 和 StringBuilder 可变性 String不可变...
序列化:把对象转换为字节序列的过程称为对象的序列化. 反序...
先说结论,是对象!可以继续往下看 数组是不是对象 什么是对...
为什么浮点数 float 或 double 运算的时候会有精度丢失的风险...
面试题引入 这里引申出一个经典问题,看下面代码 Integer a ...