2013-04-23 82 views
1

我在我的应用程序中使用GCM,以下代码适用于4.1以上的设备。无法获取4.1以下设备的GCM注册ID

但是,对于4.1以下的设备,我似乎无法获得GCM注册ID。

请任何人都给我解决方案为什么发生这种情况。

这是我用来获取regId的代码。

checkNotNull(CommonUtils.SENDER_ID, "SENDER_ID"); 
    GCMRegistrar.checkDevice(this); 
    GCMRegistrar.checkManifest(this); 
    final String regId = GCMRegistrar 
      .getRegistrationId(getApplicationContext()); 
    Log.i(TAG + ">>>>>>>>....", "R Id Is>>>>>>" + regId); 
    if (regId.equals("")) { 
     // Automatically registers application on startup. 
     GCMRegistrar.register(getApplicationContext(), 
       CommonUtils.SENDER_ID); 

    } else { 
     Log.i(TAG + ">>>>>>>>....", "Already Registered"); 

    } 

在此先感谢。

+0

你在手机或模拟器中测试过吗? – SREEJITH 2013-04-23 11:05:30

+0

我面临着同样的问题 - 它在我的模拟器上工作,但在设备上运行时无法获得注册ID。 – yehudahs 2013-05-13 20:11:02

回答

0

如果您在设备中没有设置Google帐户,则不会提取GCM注册ID。

请确定你有它。

+0

这是OP的问题,必须是注释。没有答案。请考虑删除它。 – 2013-04-23 10:54:01

+0

谢谢。纠正它,因为我很确定这可能是问题。 – dwbrito 2013-04-23 10:57:16

+0

是的,我有谷歌账户。我从这些设备获得了注册ID。但是现在我面临着设备注册无法获得某些设备的问题。以前我有相同实施的相同设备的REGID。现在我已经更改了我的新应用程序的发件人ID和服务器密钥。 – Ganesh 2013-04-23 11:57:04