android - 需要我的 android 应用程序的设计建议

标签 android service android-activity timer

目前我正在开发我的 android 应用程序。我的需求是这样的。

我需要运行一个 5 分钟的计时器,当超时发生时,我需要检查某些事情并采取某些行动。如果用户启动应用程序,这需要继续运行。

据我所知,我想这样进行

创建一个服务并在该服务中启动一个计时器,并在计时器到期时执行任何需要的操作。我将放置一个 Activity 来与服务交互,例如启动或停止。

我需要有关我的方法及其优缺点的建议。要运行计时器,我需要服务吗?如果我在 Activity 本身中运行重复计时器,并且如果我按下后退按钮,Activity 将进入后台,如果我在该 Activity 中启动了计时器,计时器是否也会停止?

如果我的问题不清楚,我很抱歉。我已经了解了 android 应用程序基础知识,然后想问这个问题。请给我一些想法。

最佳答案

不需要服务。您可以使用 Timer并安排一个TimerTask .如果任务需要接触 UI,那么您应该创建一个可以向其发布 Runnable 的处理程序。

附言您询问了如果您的 Activity 进入后台会发生什么。除非您在 onPause 或其他生命周期方法之一中取消任务或计时器本身,否则计时器将继续运行。无论你在哪一个做,你都应该在匹配的启动生命周期方法中启动定时器任务。如果您不打算取消 Timer 本身,则应将其创建为守护线程。

关于android - 需要我的 android 应用程序的设计建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6182621/

相关文章:

android - 使用 PeerJS 的 WebRTC - 它可以在 Android 和 IOS 应用程序上运行吗

java - Android 和缺少函数 getTextGlyphs

java - 来自 View 适配器警告的无条件布局膨胀

windows - 是否可以防止在 LOB UWP 桌面应用程序/后台任务中挂起?

java - 如何使 "menu"或 "manifest"后退按钮导航回上一个 Activity

android - 清除整个历史堆栈并在 Android 上启动一个新 Activity

android - 修复键盘打开时父 Activity 中的按钮位置

Android SuperPowered SDK 音频 - 频域示例 - memset 频率操作

ASP.net 服务访问数据库

macos - Mac OS X 服务 : enable without user interaction?