通过lifecycle监控,每次打开一个Activity则加1,每次关闭一个Activity则减1

根据统计的数值是否为0,判断当前App是否处于前台/后台

更简洁的方案

  ProcessLifecycleOwner.get().lifecycle.addObserver(object : LifecycleEventObserver {
    override fun onStateChanged(source: LifecycleOwner, event: Lifecycle.Event) {
      when (event) {
        Lifecycle.Event.ON_START -> _isForeground = true // 处于前台
        Lifecycle.Event.ON_STOP -> _isForeground = false // 处于后台
        else -> Unit
      }
    }
  })


来自:androidx.lifecycle:lifecycle-process:xxx

 

参考资料

相关文章:

  • 2021-07-20
  • 2022-02-16
  • 2021-10-19
  • 2022-12-23
  • 2021-06-04
  • 2021-08-25
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-06-16
  • 2021-06-07
  • 2018-06-26
  • 2022-12-23
  • 2021-09-24
相关资源
相似解决方案