java - Android 服务 - 检查变量是否随时间异步变化?

标签 java android

假设我有一个 boolean isAction。在我的服务中,我想运行某种计时器机制,如果这个 boolean 值改变状态,则调用某个函数 X,否则什么也不做。

最好的方法是什么?我尝试使用计时器无济于事,并且我不确定带有 postDelayed 的处理程序是否适合执行此操作,因为 boolean 值可以来回更改状态,这可能会给我一个“误报” isAction 永远不会改变。

有关更多背景信息,将触发启动服务的 Intent 。该服务需要确定 boolean isAction 是否保持不变大约一秒钟左右,如果是,则采取一些操作,否则返回并且不执行任何操作。

谢谢。

最佳答案

我最近通过将 boolean 值存储在共享首选项中做了类似的事情,然后我实现了 registerOnSharedPreferenceChangeListener ,它将注册一个回调,以便在首选项发生更改时调用。查看文档以获取更多信息:http://developer.android.com/reference/android/content/SharedPreferences.html

关于java - Android 服务 - 检查变量是否随时间异步变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6458968/

相关文章:

Java 主目录

android - 从线程发布 Toast 消息

java - 将 Context 作为参数传递给 Singleton 类中的方法会导致内存泄漏

java - 在 RunWith 注释 : does not find tests (java. lang.Exception 中使用 SerenityParameterizedRunner 进行 junit 测试:未找到匹配的方法)

java - 如何实现EJB异步调用的监听器

java - 如果我在惰性集合上调用 size(),Hibernate 会获取它吗?

Android:创建一个在启动它的应用程序中存活的服务

Java 停止进程并关闭流

android - 在 Android Studio 中优化构建时间的技巧?

android - 是否有一个 Android intent-filter 在用户切换到应用程序时触发?