我正在构建一个应用程序,该应用程序将在用户10分钟没有使用该应用程序时锁定,因此我需要在用户关闭该应用程序时启动一个计时器。我尝试使用onUserLeaveHint()和onPause(),但是当应用程序使用其他活动时,它们会启动计时器。是否只有在用户关闭应用程序时才收到通知,而不仅仅是在用户进行其他活动时才得到通知?
答案 0 :(得分:0)
您可以将TRIM_MEMORY_UI_HIDDEN
标志用作Application类中onTrimMemory()
回调的指示器。
class App : Application() {
override fun onTrimMemory(level: Int) {
super.onTrimMemory(level)
if (level == ComponentCallbacks2.TRIM_MEMORY_UI_HIDDEN) {
// Do stuff
}
}
}
请注意,如果您有前台服务,则此回调不会在某些Android版本上触发
答案 1 :(得分:-1)
您可以使用Lifecycle
要使用它,您需要添加android.arch.lifecycle:common-java8:1.1.1
依赖项,创建必须实现Application
的{{1}}类。
此接口没有任何要实现的方法,而是依赖于LifecycleObserver
带注释的方法。
例如
OnLifecycleEvent
当public class MyApplication extends Application implements LifecycleObserver {
// ...
@OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
public void onApplicationPaused() {
// ...
}
}
的{{1}}被调用时,MyApplication
也将被调用。