Java GCM IntentService注册ID每次都不同

Java GCM IntentService注册ID每次都不同,java,android,google-cloud-messaging,Java,Android,Google Cloud Messaging,我有一个简单的问题:每次注册服务时,我在onRegistered回调中收到的令牌是否不同?这正常吗?我通过以下方式注册服务: GCMRegistrar.register(mContext, SENDER_ID); 谢谢//不要每次都调用register方法。只有在需要时才调用它。 最终字符串regId=gcmregistar.getRegistrationId(c); if(regId.equals(“”) { GCMRegistar.寄存器(,); } 其他的 { //已注册 } 通常每次都

我有一个简单的问题:每次注册服务时,我在onRegistered回调中收到的令牌是否不同?这正常吗?我通过以下方式注册服务:

GCMRegistrar.register(mContext, SENDER_ID);
谢谢

//不要每次都调用register方法。只有在需要时才调用它。
最终字符串regId=gcmregistar.getRegistrationId(c);
if(regId.equals(“”)
{
GCMRegistar.寄存器(,);
}
其他的
{
//已注册
}

通常每次都是一样的,但是谷歌可能会刷新他们的
注册id
记录,如果发生这种情况,你将收到一个新的注册id

这就是为什么在应用程序中,您每次都调用
register
,并检查
注册id
是否已更改


我注意到,当您卸载并重新安装应用程序时,
注册id
通常会更改。

每次都应该相同。
    // Dont call the register method each time. Call it only if required.

    final String regId = GCMRegistrar.getRegistrationId(c);
    if (regId.equals(""))
    {
        GCMRegistrar.register(<your context>, <Your GCM sender ID>); 
    }
    else
    {
        //already registered
    }