Android感知当前App应用处于前台(可见)或后台(不可见)简洁规范的解决方案

简介: Android感知当前App应用处于前台(可见)或后台(不可见)简洁规范的解决方案判断当前App是否处于前台(可见)或后台(不可见)附录1是一种解决方案。

Android感知当前App应用处于前台(可见)或后台(不可见)简洁规范的解决方案

判断当前App是否处于前台(可见)或后台(不可见)附录1是一种解决方案。然而不够简洁,也是在过去一段时间比较稳定的解决方案。现在谷歌官方推出了LifecycleObserver和与Android生命周期相关的Lifecycle维护和管理方案,那么现在判断App处于前台和后台的解决就简洁多了,如代码:

package zhangphil.test;

import android.app.Application;
import android.arch.lifecycle.Lifecycle;
import android.arch.lifecycle.LifecycleObserver;
import android.arch.lifecycle.OnLifecycleEvent;
import android.arch.lifecycle.ProcessLifecycleOwner;

import com.orhanobut.logger.AndroidLogAdapter;
import com.orhanobut.logger.Logger;

public class MyApp extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        //Logger初始化。
        Logger.addLogAdapter(new AndroidLogAdapter());


        ProcessLifecycleOwner.get().getLifecycle().addObserver(new MyLifecycleObserver());
    }

    public class MyLifecycleObserver implements LifecycleObserver {

        //App处于前台可见状态。

        @OnLifecycleEvent(Lifecycle.Event.ON_CREATE)
        public void create() {
            System.out.println("create");
        }

        @OnLifecycleEvent(Lifecycle.Event.ON_START)
        public void start() {
            System.out.println("start");
        }

        @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
        public void resume() {
            System.out.println("resume");
        }


        //此后App进入不可见状态/后台

        @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
        public void pause() {
            System.out.println("pause");
        }

        @OnLifecycleEvent(Lifecycle.Event.ON_STOP)
        public void stop() {
            System.out.println("stop");
        }
    }
}


需要引入依赖:
    compile "android.arch.lifecycle:extensions:1.1.1"
    annotationProcessor "android.arch.lifecycle:compiler:1.1.1"


附录:
1,《Android判断当前App应用处于前台(可见)或后台(不可见)》链接:https://blog.csdn.net/zhangphil/article/details/80769331 


相关文章
|
2天前
|
安全 Java 数据挖掘
当 App 有了系统权限,真的可以为所欲为? Android Performance Systrace
当 App 有了系统权限,真的可以为所欲为? Android Performance Systrace 转载自: https://androidperformance.com/2023/05/14/bad-android-app-with-system-permissions/#/0-Dex-%E6%96%87%E4%BB%B6%E4%BF%A1%E6%81%AF
18 0
|
13天前
|
机器学习/深度学习 算法 数据可视化
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
28 0
|
16天前
|
iOS开发 开发者
苹果iOS App Store上架操作流程详解:从开发者账号到应用发布
很多开发者在开发完iOS APP、进行内测后,下一步就面临上架App Store,不过也有很多同学对APP上架App Store的流程不太了解,下面我们来说一下iOS APP上架App Store的具体流程,如有未涉及到的部分,大家可以及时咨询,共同探讨。
|
18天前
|
存储 iOS开发 开发者
如何在上架App之前设置证书并上传应用
在上架App之前想要进行真机测试的同学,请查看《iOS- 最全的真机测试教程》,里面包含如何让多台电脑同时上架App和真机调试。
|
18天前
|
安全 开发工具 数据安全/隐私保护
如何将应用程序发布到 App Store
如何将应用程序发布到 App Store
|
18天前
|
编解码 供应链 数据安全/隐私保护
2023 年如何将您的应用提交到 App Store
2023 年如何将您的应用提交到 App Store
|
18天前
|
iOS开发 开发者
苹果 iOS App Store 上架操作流程详解:从开发者账号到应用发布
苹果 iOS App Store 上架操作流程详解:从开发者账号到应用发布
|
18天前
|
Web App开发 iOS开发
无法安装此 app, 因为无法验证其完整性 ,解决方案
无法安装此 app, 因为无法验证其完整性 ,解决方案
|
18天前
|
安全 Linux iOS开发
上传 iOS 应用变得更加容易 - 在 Windows 上架 iOS APP 的工具介绍
上传 iOS 应用变得更加容易 - 在 Windows 上架 iOS APP 的工具介绍
|
20天前
|
Android开发 iOS开发 开发者
点击APP的应用程序图标后,发生了什么
点击APP的应用程序图标后,发生了什么

相关产品

  • 云迁移中心