GCMRegistrar.unregister无效

时间:2013-12-21 10:02:06

标签: android google-cloud-messaging

您好我想从GCM取消注册,我使用了以下代码,但我仍然收到通知

我在LOGOUT按钮上使用了以下代码点击

      GCMRegistrar.unregister(getApplicationContext());

GCMBaseIntentService 我也收到了通知

     @Override
protected void onUnregistered(Context context, String registrationId) {
    System.out.println("It's unregisterd");
}

任何人都可以解决我的问题吗?

1 个答案:

答案 0 :(得分:0)

如果您使用新的GoogleCloudMessaging课程,则无需使用com.google.android.c2dm.intent.UNREGISTER意图。只需使用

GoogleCloudMessaging.unregister().

public void unregister ()

取消注册该应用程序。调用unregister()会停止来自服务器的任何消息。这是一个阻塞调用 - 你不应该从UI线程调用它。您应该很少(如果有的话)需要调用此方法。它不仅在资源方面很昂贵,而且还会使您的注册ID无效,注册ID永远不会发生不必要的更改。更好的方法是让服务器停止发送消息。如果您希望应用程序永久停止使用GCM,或者您有充分理由回收注册ID,请仅使用取消注册。如果我们无法连接到服务器以取消注册,则抛出IOException。