我正在尝试为学习目的创建类似于up或messenger的应用程序。
基本上我创建了一个绑定到使用TCP / IP连接到java服务器的服务的活动。
当服务处于活动状态时,用户会收到并发送消息。问题是当用户关闭应用程序时(例如,使用任务管理器 - 按住主页按钮)。如果申请被关闭,服务就会被杀死,因为它有0个绑定。
我的问题是:这些应用程序的模式是什么,以便用户始终接收消息,如何始终设置发送消息并保持其服务的活动。
谢谢。
答案 0 :(得分:0)
Google Talk和其他即时消息程序等应用程序通常使用Google Cloud Messaging。有一个关于此的Google I/O talk你可能会感兴趣。
答案 1 :(得分:0)
聊天应用程序使用套接字连接和GCM / APN。如果应用程序位于前台,请建立套接字连接。当应用程序处于后台时,收到GCM消息后,再次建立套接字连接。 这样你也可以节省电池。保持插座连接长时间打开会耗尽设备的电池电量。 有关示例代码,您可以参考我们的android聊天sdk:
答案 2 :(得分:0)
如果你有后端,那么你可以看一下OneSignal
它完全免费且记录良好的文件:OneSignal
我想您已经了解推送通知:基本上您不会每次都听服务器。推送时,云消息传递平台将为您触发电话。
如果您希望自己的服务始终在关闭状态下打开,请使用STICKY_SERVICE
:start-sticky-and-start-not-sticky
另外,如果您想参加定价计划,请阅读FCM
:Firebase Cloud Messaging
在此页面中:android-migrate-fcm您应该看到此注释:
Firebase云消息传递(FCM)是GCM的新版本。它继承了可靠且可扩展的GCM基础架构以及新功能!请参阅常见问题以了解更多信息如果要在新应用程序中集成消息传递,请从FCM开始。强烈建议GCM用户升级到FCM,以便从当前和未来的新FCM功能中受益。