Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android 监听应用前/后台切换实例代码大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

前言

这周接到一个需求,需要在应用从后台切换到前台时,展示我们的广告。展示页面其实可以复用以前的开屏广告页,唯一的问题就是如何监听应用从后台切到了前台

正文

在众多方法中,我采用了以下这种方式。废话不多说,咱们直接看代码

//自定义Application类
public class MyApplication extends Application

在清单文件中声明

 <application
    android:name=".MyApplication"  
    android:allowBACkup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@String/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">

在MyApplication里重写onTrimMemory方法

  @Override
  public void onTrimMemory(int level) {
    super.onTrimMemory(level);
    if (level == TRIM_MEMORY_UI_HIDDEN) {
      isBACkGround = true;
      Log.i("bo","APP遁入后台");
    }
  }

onTrimMemory方法为开发者提供了一个合适的时机,用来释放掉一些不用的资源,从而让@R_272_9616@在后台存活更长时间。其中level参数就代表@R_272_9616@当前在内存中的状态,TRIM_MEMORY_UI_HIDDEN代表应用从前台切到了后台。这个时候我们便可以标记应用切换到了后台

接下来需要监听应用在什么时候回到了前台

registerActivityLifecycleCallBACks(new ActivityLifecycleCallBACks() {
      @Override
      public void onActivityCreated(Activity activity,Bundle savedInstanceStatE) {
      }

      @Override
      public void onActivityStarted(Activity activity) {
      }

      @Override
      public void onActivityResumed(Activity activity) {
        if (isBACkGround) {
          isBACkGround = false;
          Log.i("bo","APP回到了前台");
        }
      }

      @Override
      public void onActivityPaused(Activity activity) {
      }

      @Override
      public void onActivityStopped(Activity activity) {
      }

      @Override
      public void onActivitySaveInstanceState(Activity activity,Bundle outStatE) {
      }

      @Override
      public void onActivityDestroyed(Activity activity) {
      }
    });

我们使用registerActivityLifecycleCallBACks来监听所有Activity的生命周期回调,并在onActivityResumed方法中进行判断:调用了Activity的onResume方法,并且已经标记后台状态,那么就可以判断APP回到了前台

以下是log输出

Android 监听应用前/后台切换实例代码


以上就是我对这个问题的解决方案。

结尾

这个方案要求API大于等于14,因为registerActivityLifecycleCallBACks方法要求API在14以上。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

大佬总结

以上是大佬教程为你收集整理的Android 监听应用前/后台切换实例代码全部内容,希望文章能够帮你解决Android 监听应用前/后台切换实例代码所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。