如何在Android中触发通知?

时间:2015-02-03 13:45:06

标签: android

我正在构建一个后端有服务器的Android应用。我想要做的是,每当在服务器中更新任何新内容时,应用程序都应该触发向用户手机显示新添加内容的通知。

1 个答案:

答案 0 :(得分:2)

编辑添加:从Android M及更高版本开始,这一点更为重要。作为改善电池寿命的全面努力的一部分,操作系统主动限制了应用过去用于同步和通知的许多技术。使用JobScheduler和GCM等内置方法以避免出现问题。

Android中的核心通知机制是Google Cloud Messaging(GCM),记录为here。它以较低的水平内置于平台,并由移动网络直接支持,因此它通常是最有效的选择。它没有保证延迟,因此它可能不适合非常时间敏感的消息,但它通常非常快 - 至少与发送SMS一样快。

有许多不同的商业产品以及FOSS库以各种方式包装GCM,例如为非旧的(pre-Froyo)设备或未启用Google的设备提供支持,或者提供单个交叉各种竞争移动平台之间的平台解决方案。 Firebase,Parse和Urban Airship是我所知道的。

要使用GCM,您需要从Google获取API密钥。您可以使用此API密钥验证对GCM服务器的请求。获得密钥后,发送通知就像向GCM服务器发送POST请求一样简单。 GCM也支持XMPP,但我还没有使用它。

在客户端,您的应用需要调用GCM API来注册消息。您提供了用于创建API密钥的项目名称,以便GCM知道哪些服务器消息应该发送到您的客户端应用程序。一旦您的应用程序注册,传入的消息将作为意图发送给它,您可以通过实现BroadcastReceiver来接收它。

Android开发者网站上有一个tutorial,可引导您完成GCM流程。