如何在不出现在收件箱中的情况下将数据发送到安装在其他手机上的应用程序



我正在编写一个约会应用程序。我希望我的应用程序能够将约会数据从一部手机发送到另一部手机上的同一应用程序。该应用程序将读取数据并将约会添加到列表中。我不希望用户能够阅读短信本身。有办法做到这一点吗?

不要使用短信,这通常需要花钱,如果权限列表显示"SEND_SMS",人们就不会使用您的预约应用程序。还有很多其他协议,最简单的是http,它允许您通过网络发送数据并存储到服务器,然后其他设备可以在必要时检索数据。

定义一种格式,这样您就可以识别SMS并将其与常规消息区分开来。你可以通过程序发送短信,这里没有问题(我几乎可以肯定发件箱中不会显示消息)。

在您的应用程序中,注册一个短信侦听器,以便您首先扫描传入的短信。如果邮件与您的格式匹配,请对其进行处理并将其从收件箱中删除。这部分很棘手,因为没有API可以做到这一点。检查这个问题:如何在Android中以编程方式从收件箱中删除短信?

也就是说,短信非常不可靠,有效载荷非常小,在用户不知情的情况下使用它是一种糟糕的做法。您可以设置一个邮件服务器,为每个用户提供一个邮件帐户,并使用JavaMail在后台发送/接收邮件。这也将使用户能够通过PC中的外部客户端接收消息。或者,您可以将消息发送到WS,将其存储在DB中,并让应用程序定期提取新消息。或者甚至使用GCM,这是一种推送方法(http://developer.android.com/training/cloudsync/gcm.html)。

最新更新