我正在尝试构建一个android应用程序。
此应用程序的目的是“配对”2 台 android 设备,这样第一台 android 设备将能够在第二台 android 设备上远程执行以下操作:
1. 使用相机拍摄照片/视频
2. 打开/关闭录音机
3. 使用 GPS 获取手机的当前位置
我想知道是否可以帮助我弄清楚以下内容:
1. 这是否可以在常规设备(未植根)上执行上述操作?
2. 我可以建立p2p连接并执行上述操作,还是应该使用第三方服务器来处理所有请求?
3. 如果我确实使用服务器来处理请求,那么建立连接的最佳方式是什么?
如果您可以将我重定向到相关的 API,将不胜感激。
谢谢!
问问题
335 次
2 回答
0
- 是的,这是可能的。
- P2P理论上是可能的,但是如果移动运营商使用NAT或防火墙,你将不得不处理各种网络问题。
- 我会使用 HTTP,因为它在移动设备上最常见且最强大。考虑使用提供消息系统的 IaaS,例如pubnub,它会为您省去很多麻烦并且不会花费您太多。
于 2012-11-22T15:50:52.877 回答
0
打开/关闭录音机
由于我不知道任何实际具有“磁带”的 Android 设备(缺少有破裂外壳的人),因此我将其翻译为“录制一些音频”。
这是否可以在常规设备(未植根)上执行上述操作?
当然。用于MediaRecorder
音频/视频(或Camera
静止图像),并LocationManager
用于 GPS。您将需要几个权限,用户需要在安装时同意这些权限。
我可以建立 p2p 连接并执行上述操作,还是应该使用第三方服务器来处理所有请求?
互联网上几乎没有什么是真正的 P2P。特别是,在移动设备上进行真正的 P2P 的唯一方法是它们在同一个 WiFi 网络上并且可以直接相互寻址。即便如此,在移动设备上开放端口(允许一个应用程序连接到另一个应用程序所必需的)也不是一个好主意,除非你有一个非常大的法律辩护基金来处理所有的诉讼。
更实用的方法是使用 GCM 推送通知来触发事件。
如果我确实使用服务器来处理请求,那么建立连接的最佳方式是什么?
使用因特网。除此之外,无法回答,因为有无数的“服务器”。
于 2012-11-22T15:51:09.650 回答