我想编写一个可以通过从网站发送命令来激活的Android应用程序。这可能吗?实际上,应用程序将在手机上运行,我将通过HTTP发送命令。
答案 0 :(得分:5)
从Android 2.2开始,您可以开始使用cloud to phone messaging系统(更多信息here)
答案 1 :(得分:2)
您可以让应用程序维护与等待命令的Web服务器的连接。这种技术通常用于实时更新的AJAXy网站,称为“彗星”模式或“长轮询”。
基本上,您的客户端(在这种情况下是手机上的应用)会请求某个页面。您的网络服务器(或PHP或您正在使用的任何内容)检查是否有任何未完成的消息或命令要发送到客户端,否则它会保持连接打开并等待直到收到客户端的消息,或者直到某个超时。
这样做有一些明显的缺点:
这就是假设您需要对命令进行近实时响应。如果他们可以延迟,正常的民意调查就足够了。
答案 2 :(得分:1)
您可以让服务器向Android发送短信。在Android端,您的应用程序侦听可以侦听SMS消息并执行相应的命令。 Here is a question关于从服务器发送短信。 Here is some help在android中使用短信。
我不确定您是否可以将短信保密为您的应用。理想情况下,您不希望用户将这些SMS消息视为文本消息。 Perhaps you could just delete the message as soon as it is processed。
答案 3 :(得分:-1)
这是完全可能的。只需在手机上启动网络服务器即可。例如:http://l00g33k.wikispaces.com/micro+HTTP+application+server
答案 4 :(得分:-1)
有点嘟嘟我自己的号角:)现在已经解决了......
这不适用于许多3G网络(没有公共IP地址)
如果不需要一般公共访问,则可以使用两个SSH连接到SSH服务器。我已经完成了很多次,并且与SSH设置一样安全。
并且具有在实际服务器上运行Web服务器的所有安全后果,而没有大多数工具(例如,防火墙)来管理它们
如果需要一般公共访问,您可以通过从手机到SSH服务器的一个SSH连接来实现。您需要在SSH服务器上打开一个端口,但不需要防火墙管理,因为您可以运行另一个Perl脚本来过滤源地址并通过SSH连接转发到手机。根据你的观点,还有另外一件好事/坏事。由于它需要一个活动的SSH / Android ConnectBot连接,因此您知道它何时处于活动状态,并在关闭SSH连接时关闭。对我而言,这增加了安全性。我这样做是为了将KML文件发送到谷歌地图的谷歌服务器(即使文件在你的手机上,KML文件也必须无需密码即可公开访问谷歌服务器;我按照谷歌的IP地址过滤。)