【问题标题】:How to detect Network state using Job scheduler in android?如何在android中使用作业调度程序检测网络状态?
【发布时间】:2016-09-28 10:03:32
【问题描述】:

我正在开发一个应用程序,我想在我的应用程序中检测网络状态并相应地执行一些任务,为此我使用广播接收器,它工作正常但是当我检查代码时,这会给我建议替换为作业调度程序,我想知道我该怎么做。并且作业调度程序是否在 API 11 下工作。

【问题讨论】:

  • 检查 thisthis ,这些可能会帮助您解决问题。

标签: android


【解决方案1】:

JosScheduler 仅适用于 API 21(Lollipop)。当您收到回调时,该框架将智能,并尝试尽可能多地批处理和延迟它们。一个有用的教程可以在这里找到https://code.tutsplus.com/tutorials/using-the-jobscheduler-api-on-android-lollipop--cms-23562

【讨论】:

  • 这太糟糕了。如果我有一个网络线程并且想在没有连接时停止它,我该怎么做?我不想手动检查是否有连接。以前的方式会告诉你 either or
  • WorkManager 的稳定版本现已推出。请查看此链接了解详情。 developer.android.com/topic/libraries/architecture/workmanager 。这个新的架构组件有助于执行计划任务。
  • 它只有一个选项:有连接时运行。我想在连接丢失时运行,这样我就可以停止线程并将其循环踢出自旋。我有网络线程将继续运行,直到它连接到服务器。目前我正在使用定时ojbect.wait,但它会像疯了一样耗尽电池。基本上我想得到网络变化的通知,然后我会检查是否可以连接,否则会退出。就是这样
  • 我只是使用计划任务 (Handler) 而不是依赖网络事件。我有一个前台服务,它持有处理程序,经过一些用户配置的时间后,它将产生连接线程。如果连接线程无法连接,它将重新安排另一个任务以进行另一次连接尝试。我猜这样会更容易更简单。
猜你喜欢
  • 2018-04-13
  • 1970-01-01
  • 2023-01-10
  • 1970-01-01
  • 1970-01-01
  • 2011-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多