我正在尝试使用 GCM,除了在不同设备上调用 GCMRegistrar.getRegistrationId 外,一切正常。我已经在模拟器和 2 部不同的手机上运行此代码,并且 GCMRegistrar.getRegistrationId 始终返回相同的字符串。我希望它在每个设备上都会有所不同,但事实并非如此。难道我做错了什么?这是我正在使用的代码(取自文档)。
GCMRegistrar.checkDevice(context);
final String regId = GCMRegistrar.getRegistrationId(context);
if (regId.equals("")) {
GCMRegistrar.register(activity, "123456789012"); //sender id/api project id
} else {
LogUtil.info("Already registered");
}
当我第一次在模拟器上运行它时,GCMRegistrar.getRegistrationId 返回了“”,但在随后的调用中它返回了大 ID。这就说得通了。奇怪的是,当在两部手机上运行相同的代码时,它们都返回了相同的 id(模拟器返回的那个),之前从未运行过这个应用程序。