我正在尝试编写一个将数据从一个Android设备传输到另一个Android设备的应用程序-但这些设备最有可能位于城市,州或国家/地区的不同部分。 (最直接的方法是拥有一台中央服务器(或任何类型的服务器),但我试图避免使用一个)。
我尝试传递的数据是文本,图片或两者的组合。
到目前为止,我发现的解决方案是与特殊格式的文本或图片消息进行通信。但这似乎远非最佳。有更好的解决方案吗?
最佳答案
真正的P2P不可能超过3G。
在您的问题中,您提到您当前正在使用消息。我认为您的意思是短信。
相反,您可以使用具有自定义mime类型的邮件和附件,例如application/foobar-data
。
在您的应用程序中,可以启动包含此附件的SEND目的。然后,用户将不得不选择他的电子邮件程序(或者这可能是自动的),并将其发送给他/她喜欢的任何人。您还可以指定“收件人:”地址和 Intent 中的主题。这将非常简单。
然后,远程用户将收到此邮件,然后点击附件。您的应用将使用 list 中的 Intent 过滤器进行注册,以处理application/foobar-data
模仿类型,然后将自动启动并接收数据。先前生成的邮件正文也可以预先填充有关您的应用程序以及如何安装的信息,例如“您需要FooBar来查看附件。您可以从...安装它”。
因此,最终,您的应用程序可以发送和接收自定义数据,而无需依赖专用服务器。