除短信外,如何将数据从手机发送到手机

时间:2012-03-15 11:08:29

标签: android

我在我的应用程序中使用C2DM将数据从移动设备发送到移动设备 但C2DM使用Google服务器(缺乏数据机密性)将消息重定向到设备。 没有任何第三方服务器,有没有其他方式可以直接从移动设备发送数据到移动设备? 我不想在我的应用程序中使用SMS。

4 个答案:

答案 0 :(得分:2)

基于要求(1)没有第三方服务器(2)在2个手机之间。

您的选择仅限于以下内容:

  1. WiFi Direct(Ad Hoc网络) http://developer.android.com/guide/topics/wireless/wifip2p.html
  2. 蓝牙 http://developer.android.com/guide/topics/wireless/bluetooth.html
  3. NFC http://developer.android.com/guide/topics/nfc/index.html

答案 1 :(得分:1)

你明确说“没有第三方服务器”。但我可以建议xmpp。我和smack派生的罐子和OpenFire都有好运。您可以获得大量灵活且易于使用的功能。对于聊天类型的应用程序,这可能是您最好的选择。

我们托管自己的OpenFire实例并针对Active Directory进行身份验证。 XMPP协议提供用户/设备寻址,路由以及(可选)存储和转发功能。

它还可以轻松地与为其他操作系统和其他语言编写的应用程序交换设备数据。 XMPP IQ数据包可用于查找类型事务,而不会产生聊天类型连接的开销(没有状态信息,后端XEP-114插件可与服务器端资源连接)。

答案 2 :(得分:0)

不是真的:您的设备必须知道要连接的设备。如果您知道设备的IP,理论上可以这样做,但是对于移动电话,这种情况经常发生变化,我甚至不确定移动提供商是否会让您直接连接到其网络上的设备。所以,你至少需要在你能信任的两部手机中保持稳定的“步骤”。

您可以做的是设置自己的服务器,让用户(user1)将邮件上传到您的服务器,发送给特定的发件人(user2)。收到消息后,您可以使用C2DM向user2的电话发送信号,并将消息的唯一标识符附加到此处。当user2的应用收到此消息时,您可以继续从您的网络服务器下载消息内容。

如果您根本不想使用任何网络服务器,则仅限于Calvin提及的选项:WiFi,蓝牙或NFC。

答案 3 :(得分:0)

不幸的是,在移动电话之间建立直接套接字连接几乎是不可能的,因为它们总是落后于防火墙。 BTW也看https://www.alljoyn.org/这也是一项有趣的技术。

相关问题