- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在阅读 Android 8 中的后台服务限制,从我读到的内容来看,您似乎无法长时间在后台运行您的服务。这似乎是合理的,但因为我使用后台服务来保持与服务器的连接——目前正在汇集新内容、发送位置和响应,我有点困惑。响应没问题,我只能在与应用程序交互时响应,但是汇集新内容是有问题的,因为它需要从服务器获取内容,如果有新内容出现,则会向用户显示响应通知。
如果我理解正确,我可以使用 JobScheduler 每隔几秒安排一些工作。我基本上可以安排汇集。对于后台位置,存在这些限制,因此只有前台服务是在请求的时间内获取更新的选项。
我将迁移到 websockets 然后关闭池,与服务器的连接将持续存在并且应用程序将从服务器获取更新,我计划在后台服务中执行此操作以便每次都能从服务器接收内容.但是我似乎不能从 Android 8 开始。你会如何解决这个问题?我应该使用前台服务进行定位和服务器连接吗?或者有没有更好的方法在 android 8 上的 android 应用程序中进行后台网络?
谢谢
最佳答案
以下是在 Android O 上执行后台工作的几个选项:
使用 JobScheduler。您似乎已经很好地掌握了这一点 - 缺点是它是周期性的,而不是持久的。
使用 GCM/FCM 或类似的推送服务在相关时将数据推送到您的应用,而不是持续保持与服务器的连接。
Use a foreground service .这将允许您在应用不在前台的情况下继续执行后台工作,但会在状态栏中放置一条通知,告知用户您正在执行该工作。
在选择其中一种方法之前,您应该花点时间退后一步,查看您需要从服务器获取的数据,并确定为什么您需要持久连接以及第一个还是第一个第二个选项可能就足够了。
如果您绝对需要与服务器的持久连接,最后一个选项是您的最佳选择。 O 中的更改背后的想法是仍然允许后台工作,例如您所描述的内容,但要让用户清楚地知道您的应用程序正在这样做。这样,如果他们认为您的数据不如您重要,他们就可以采取行动。
关于java - Android O后台联网,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46102495/
我正在寻找一种快速开始使用可以访问相机、快速拍摄快照并将其上传到互联网站点的应用程序的方法。 由于我正在寻找 RIA 开发,我想我需要一个框架(理想情况下尽可能轻量级)。 对我和大多数读者来说,最好的
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我一直在尝试理解 rxSwift。我面临请求问题并希望以良好的方式实现这一点。目前,我正在使用此代码: enum RequestState { case loading case lo
我正在使用 Linux epoll 工具开发一个用 C 语言编写的网络应用程序。 我确实在实现我自己的事件循环,是的,我知道有一些库可以为我做这件事。然而,这只是一个练习,我_想_自己实现事件循环。
我正在为 WatchOS 构建一个应用程序扩展,我想在 Watch 应用程序中执行一些 URL 请求。我在网络部分使用 Alamofire。 每当我做一个简单的请求时,我在模拟器和真实设备上都会收到这
我使用这个官方指南在 Windows 7 机器上设置 Docker: https://docs.docker.com/windows/started/ 我成功地从 docker hub 拉取了一个镜像
我使用的示例代码来自这个 Stack Overflow 问题 (http://stackoverflow.com/questions/3240617/cfnetwork-and-bonjour-int
在 Windows 平台上使用套接字的最佳方式是什么? 我猜是基本套接字,TCP/IP。也许是为了聊天客户端,或者只是为了学习。 谁能给我一个 WININET 用法的例子? 也许是 ftpgetfil
这是我的问题: 我写了一个可以运行的 python 脚本,但只能在我的机器上运行(当我在我的解释器中运行它时)。 我还编写了 .bat 和 .ini 文件(就像我已经为其他有效的脚本所做的那样),当我
我是一名优秀的程序员,十分优秀!