我正在我的应用程序中使用Google的GCM服务。我尝试了示例代码,并且它对我很好用。但是有一件事情让我困惑,那就是关于注册令牌。
在RegistrationIntentService.java的
我知道令牌刷新可能是由系统从阅读示例代码 MyInstanceIDListenerService.java 开始的,然后我必须从回调函数
在RegistrationIntentService.java的
onHandleIntent(Intent intent)
函数内的示例代码包含获取令牌的行,并使用该令牌订阅主题。InstanceID instanceID = InstanceID.getInstance(this);
String token = instanceID.getToken(getString(R.string.gcm_defaultSenderId),
GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
我知道令牌刷新可能是由系统从阅读示例代码 MyInstanceIDListenerService.java 开始的,然后我必须从回调函数
onTokenRefresh()
通知服务器。我发现当我点击通知打开应用程序时,函数 onHandleIntent(Intent intent)
总是被调用,因此注册令牌将再次生成。我的问题是,在 onTokenRefresh()
点时,我可以设置标志来确定是否需要更新服务器并重新订阅主题。但我能否安全地假设令牌在应用程序启动时永远不会更改?