首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google Cloud Messaging with Android

Google Cloud Messaging with Android
EN

Stack Overflow用户
提问于 2016-06-20 10:17:36
回答 2查看 64关注 0票数 0

对于Google Cloud Messaging,应该接收通知的应用程序是否必须在前台或后台运行才能处理推送通知消息?

EN

回答 2

Stack Overflow用户

发布于 2016-06-20 10:21:36

它根本不需要运行,这就是为什么你要向清单中添加一个广播接收器(即使你的应用程序不活动,它也会运行的GCMReceiver)。当系统接收到下行消息时,此接收器将触发一个组件(通常是处理传入流的服务)。

代码语言:javascript
复制
<receiver
     android:name="com.google.android.gms.gcm.GcmReceiver"
     android:exported="true"
     android:permission="com.google.android.c2dm.permission.SEND" >
     <intent-filter>
         <action android:name="com.google.android.c2dm.intent.RECEIVE" />
         <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
         <category android:name="YOUR_PACKAGE_NAME" />
     </intent-filter>
 </receiver>
票数 1
EN

Stack Overflow用户

发布于 2016-06-20 10:27:37

不是

你的应用程序只需要注册广播即可。这通常按如下方式工作:

在Google服务器和您的应用程序中运行的GCM服务之间建立了一个套接字连接。因此,当你想向你的应用程序发送推送通知时,你只需要求谷歌推送服务器将消息推送到客户端即可。服务器将消息写入套接字,客户端的服务只发送一个广播。在接收时调用广播接收器,然后启动应用程序。

优点是,每个应用程序都不必与其服务器保持持续的套接字连接以进行实时更新。

如果您打算使用GCM,并在收到推流后在后台执行一些繁重的操作,请考虑阅读有关唤醒锁的内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37913818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档