android - 当应用程序进入后台时需要实现超时功能

标签 android android-lifecycle

我需要在我的应用进入后台 5 分钟时创建一个超时功能(任何触发 onPause() 的事件, Activity 结束时除外)。如果用户返回应用程序,则应取消计时器。

此外,我需要定时器不依赖于手机中设置的时间,这意味着当应用程序进入后台然后用户更改时间时应用程序仍将在 5 分钟内超时。

查看 AlarmManager 的文档,它声明如下:

Note: The Alarm Manager is intended for cases where you want to have your application code       
run at a specific time, even if your application is not currently running. For normal 
timing operations (ticks, timeouts, etc) it is easier and much more efficient to use 


或者,您可以尝试设置 bound service - 即使用户切换最前面的应用程序,这些也可以在后台运行。您可以使用 Handler 与服务通信,就像您处理线程一样。

最简单的方法是使用预定义类型的 sendEmptyMessageDelayed,并在您的应用重新启动后调用 removeMessages()。

关于android - 当应用程序进入后台时需要实现超时功能,我们在Stack Overflow上找到一个类似的问题:


android - 如何将 Cloud Endpoints 生成的 sources.jar 库移动到 Android 项目中

android - 在 React Native 中获取设备 ID?

android - 应用程序级onResume Android

android - View.getContext 返回 null,为什么?

android - 在 Android 中键入时实时更新 TextView

android - 在 ImageButton 中设置文本

java - 来自扩展 TimerTask 的类中的 IntentService

android - 是否在 onActivityResult() 之前调用了 onResume()?

android - 了解 fragment Activity 生命周期

android - 如果您在一个 Activity 中,按下 Activity 主页按钮时会调用哪些生命周期方法?