android - android native 应用程序中的长轮询解决方案?

标签 android

我需要构建一个应用程序来进行实时报告,你能推荐一个支持实时通信的解决方案吗?我想采用长轮询这种方法。

它将是 Android 原生应用,而不是网络应用。

是否有已经写好的东西,所以我不需要从一开始就实现它?

我是一名 django、python 开发人员。

最佳答案

这不是轮询解决方案,但当我需要这样的东西时,我创建了一个 foreground创建到我的服务器的持久套接字连接的服务。然后,我在 BOOT_COMPLETED 和 CONNECTIVITY_CHANGE 上注册了一些广播接收器以维护我的服务。这对我来说比 C2DM 更有效,因为我可以更好地控制系统并且几乎是实时的。 C2DM 是一种即刻即弃系统,不保证其可靠性。您将必须在连接更改之间管理套接字,并且可能持有某种 wakelock .

对于轮询解决方案,您还可以构建网络服务器并使用 http 请求进行轮询。这将避免在连接更改之间管理套接字的需要,但这不是实时解决方案。

关于android - android native 应用程序中的长轮询解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7456572/

相关文章:

Android:调整 Horizo​​ntalScrollView 的大小

java - Android Studio - 没有设计选项?

java - 按项目子字符串对数组排序

android - Unresolved reference getResources() Kotlin

java - Android - 条件访问 Jar

android - 部署 Android 应用程序时注意到 libdvm.so 上的安全警告

java - 从 Android 日历获取下一个有效日期

android - intent.putExtra 不工作

android - 请求 PACKAGE_USER_STATS 授权

java - 如何把 webp 转换成 gif?