我想写一个应用程序,从服务器接收推送警报。我找到了一些方法来做到这一点。

SMS -拦截传入的SMS并从服务器发起拉取 定期轮询服务器

每种方法都有其局限性。短信-不保证到达时间。投票可能会耗尽电池。

你有更好的建议吗?非常感谢。


当前回答

还是……

3)与服务器保持连接,每隔几分钟发送Keep -alive,服务器可以即时推送消息。这就是Gmail,谷歌Talk等的工作原理。

其他回答

你可以使用push

它是一种托管服务,可以超级容易地向web和移动应用程序添加实时数据和功能。 pushher提供了集成到所有主要运行时和框架的库。

PHP, Ruby, Python, Java, .NET, Go和服务器上的Node JavaScript, Objective-C (iOS)和Java (Android)客户端。

Android云到设备消息框架

重要提示:C2DM已于2012年6月26日正式弃用。这意味着C2DM已停止接受新用户和配额请求。不会向C2DM添加任何新特性。然而,使用C2DM的应用程序将继续工作。鼓励现有的C2DM开发人员迁移到C2DM的新版本,称为谷歌Cloud Messaging for Android (GCM)。有关更多信息,请参阅c2d -to- gcm迁移文档。开发人员必须在新的开发中使用GCM。

请查看以下链接:

http://developer.android.com/guide/google/gcm/index.html

我建议同时使用SMS和HTTP。如果用户还没有登录,就给他们的手机发短信通知他们有消息等待。

这就是爱立信实验室服务的工作方式:https://labs.ericsson.com/apis/mobile-java-push/

如果你自己实现这一点,棘手的部分是删除传入的短信,而用户看不到它。或者让他们看到你的情况也没关系。

看起来这是可行的: 使用BroadCastReceiver删除短信- Android

是的,编写这样的代码可能是危险的,你可能会毁掉某人的生活,因为你的应用程序删除了一条它不应该删除的短信。

有一项新的开源项目正在开发一个Java库,用于基于Meteor web服务器的Android推送通知。你可以在执事项目博客上查看,在那里你可以找到Meteor和项目的GitHub存储库的链接。我们需要开发人员,所以请传播这个消息!

截至2016年5月18日,Firebase是谷歌为移动开发者提供的统一平台,包括推送通知。