我很好奇,如果从GCM类GCMBaseIntentService的intent.getStringExtra(EXTRA_REGISTRATION_ID)生成的字符串对于每个Android设备都是唯一的吗? 它是如何产生的?
答案 0 :(得分:2)
注册ID由GCM服务器创建,对于在特定设备上运行的特定应用程序而言是唯一的。
您可以在此处阅读更多内容:http://developer.android.com/guide/google/gcm/gs.html#android-app
onRegistered(Context context,String regId):在收到注册意图后调用 将GCM分配的注册ID传递给该设备/应用程序对作为参数。 通常,您应该将regid发送到您的服务器,以便它可以使用它来发送消息 这个设备。
在这里:http://developer.android.com/guide/google/gcm/gcm.html#arch
注册ID
GCM服务器向Android应用程序发出的ID,允许它接收消息。一旦Android应用程序具有注册ID,它就会将其发送到第三方应用程序服务器,该服务器使用它来识别已注册接收给定Android应用程序的消息的每个设备。 换句话说,注册ID与特定设备上运行的特定Android应用程序绑定。
此字符串不是由您引用的代码生成的,而是在GCM服务器上生成,并通过该代码从intent读取。