新手开发者一枚。
最近想实现的功能是,当app在后台时(不管运行与否,因为在后台一段时间后会被停止运行),如果通过bonjour服务实现了设备互联,有没有可能在另外一一台设备上的app对这台设备上的相同app进行远程操控?
例如,发送控制请求,然后另一台app便停止播放音乐。
我目前的想法是构建一个类似聊天的框架,当由信息发送过来时,通过判断信息来决定用户的远程控制请求内容。但是这好像只能在前台运行时实现。当后台时,甚至不知道这两个设备还有没有保持连接。
有什么想法吗?
多谢,Drust.
如果你的app有保持后台运行的能力(比如现在许多下载应用使用的播放无声音乐的方式),那么你的想法就类似于P2P传输信息了,任何一个app client都可以发送和接收信息。
如果你的app未运行,是无法做到通过另一台设备唤醒的。
具体来说,即使假设app能够始终后台运行监听消息,如果两台设备分别处于两个局域网中,仍然有许多问题要处理,比如。。。UDP穿透(一般IM都使用UDP,这里假设一下)。注意到你提到了Bonjour,Bonjour是只能应用于同一个局域网下的情况的,且本身也不负责数据传输,它只是负责注册自己并“发现”其他客户端而已哦。
android我记得开发指南里面说你的Activity转到后台之后,就随时可能被系统杀掉。
iOS应当也有类似的机制。
所以想在后台偷摸做点事情,越来越不靠谱。