我正在开发类似Push Notification SDK的东西,当用户将SDK集成到他们的应用程序时,SDK创建服务并通过TCP连接接收通知。
现在问题是:假设许多应用程序将在某些Android设备上使用SDK,所有应用程序都需要接收自己的通知,如果我们在每个服务中创建TCP连接,则会花费太多资源和电池电量,所以我想使用一个主服务(可能是SDK的第一个服务启动)来建立TCP连接,其他服务通过某种IPC重用连接。但我不知道最适合使用哪种技术。
是否有人可以提供一些建议?
感谢〜
答案 0 :(得分:0)
最后我用这种方式解决了问题:
建立公共服务(android:export =" true")设置与服务器的TCP连接,当APP启动时,首先检查公共服务是否存在,如果不存在,则调用startService() 。然后在APP中调用bindService()。要与公共服务进行通信,请使用Messenger类:
http://developer.android.com/guide/components/bound-services.html#Messenger