-1


我正在尝试构建一个android应用程序。
此应用程序的目的是“配对”2 台 android 设备,这样第一台 android 设备将能够在第二台 android 设备上远程执行以下操作:

1. 使用相机拍摄照片/视频
2. 打开/关闭录音机
3. 使用 GPS 获取手机的当前位置

我想知道是否可以帮助我弄清楚以下内容:

1. 这是否可以在常规设备(未植根)上执行上述操作?
2. 我可以建立p2p连接并执行上述操作,还是应该使用第三方服务器来处理所有请求?
3. 如果我确实使用服务器来处理请求,那么建立连接的最佳方式是什么?

如果您可以将我重定向到相关的 API,将不胜感激。

谢谢!

4

2 回答 2

0
  1. 是的,这是可能的。
  2. P2P理论上是可能的,但是如果移动运营商使用NAT或防火墙,你将不得不处理各种网络问题。
  3. 我会使用 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 回答