Ser*_*o76 8 android push-notification google-cloud-messaging
我正在使用新的谷歌云消息
(GoogleCloudMessaging gcm =
GoogleCloudMessaging.getInstance (context);)
Run Code Online (Sandbox Code Playgroud)
我正在关注这个例子,它非常好并且完美地工作:
https://github.com/commonsguy/cw-omnibus/tree/master/Push/GCMClient2
通过这个例子,我可以在GCM中注册,但是我尝试取消注册失败了.
在文档中表明您应该使用以下意图:
com.google.android.c2dm.intent.UNREGISTER
Run Code Online (Sandbox Code Playgroud)
并使用如下:
Intent unregIntent = new Intent ("com.google.android.c2dm.intent.UNREGISTER");
unregIntent.putExtra ("app", PendingIntent.getBroadcast (this, 0, new Intent (), 0));
StartService (unregIntent);
Run Code Online (Sandbox Code Playgroud)
不工作......
正如我所说,寄存器工作正常,但不知道如何取消注册.
我必须做的不仅仅是意图吗?我究竟做错了什么?
我感谢任何帮助
感谢致敬
Era*_*ran 16
如果您使用的是新GoogleCloudMessaging类,则无需使用com.google.android.c2dm.intent.UNREGISTER意图.只需使用GoogleCloudMessaging.unregister()即可.
public void unregister()
取消注册该应用程序.调用unregister()会停止来自服务器的任何消息.这是一个阻塞调用 - 你不应该从UI线程调用它.您应该很少(如果有的话)需要调用此方法.它不仅在资源方面很昂贵,而且还会使您的注册ID无效,注册ID永远不会发生不必要的变化.更好的方法是让服务器停止发送消息.如果您希望应用程序永久停止使用GCM,或者您有充分理由回收注册ID,请仅使用取消注册.如果我们无法连接到服务器以取消注册,则抛出IOException.
| 归档时间: |
|
| 查看次数: |
6153 次 |
| 最近记录: |