2013-04-23 127 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