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 
Handler.

最佳答案

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

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

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

相关文章:

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 主页按钮时会调用哪些生命周期方法?