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/

相关文章:

java - 在 RxJava/RxAndroid 中的可观察对象之间传递响应

java - 无法将 C# 加密/哈希转换为适用于 Android 的 Java 加密/哈希

android - 更改 android 操作栏的背景颜色,基本教程

android - 是否有一致的方式将数据发送到 Android Activity ,如果 Activity 尚未打开则打开该 Activity ?

java - 为什么AIDL接口(interface)不能使用代理?

java - 图像未在 public void 调用方法内的 gridView 中显示

android - java.lang.IllegalStateException : attempt to re-open an already-closed object On Orientation Change 错误

Android检查应用程序是否关闭

java - 在 onActivityResult 之后设置 TextView 文本

android - 为什么我的 Activity 会泄漏?