android - 检测应用程序在单击主页时暂停
问题描述
我想检测我的应用程序何时暂停(当用户按下主页按钮或启动另一个应用程序时)。创建具有实现生命周期的应用程序类不起作用,因为它适用于每个活动切换。而且我不能在任何地方都调用 onpaused 和 onstop。那么我该如何检测到这一点。
解决方案
现在,当应用程序最小化时,您可以在 Application 类中轻松检测事件,使用“ ProcessLifecycleOwner
”而不是在每个页面中跟踪它。进行以下更改:
build.gradle(应用级):
implementation "android.arch.lifecycle:extensions:1.0.0"
创建一个应用程序类(如果尚未创建)并实现如下代码:
class MainApplication extends Application implements LifecycleObserver {
@Override
public void onCreate() {
super.onCreate();
ProcessLifecycleOwner.get().getLifecycle().addObserver(this);
}
@OnLifecycleEvent(Lifecycle.Event.ON_STOP)
public void onAppBackgrounded() {
Log.d("APPP","APP BACKGROUNDED");
}
@OnLifecycleEvent(Lifecycle.Event.ON_START)
public void onAppForegrounded() {
Log.d("APPP","APP FOREGROUNDED");
}
}
推荐阅读
- php - 在laravel中选择关系表中不存在的记录
- r - 如何根据匹配 R 中其他几列的行值来填充列的值
- qt - 创建 websocket 连接和断开例程
- sql - 每月和每年的日期计数。每月和每年的非空白日期的累积(或运行总计)计数
- vba - 如何按您输入的产品名称填写用户表单
- python - “ TypeError: 'DataFrame' object is not callable” 用于 excel 数据
- java - IntelliJ 如何运行具有依赖项的 Maven 项目?
- swift - Swift 中有哪些不同类型的“double”?
- haskell - Haskell:类型检查是否需要所有实例?
- javascript - 如何将字符串分成数组中声明的新行?Javascript/Jquery