2014-08-29 61 views
0

你好Android開發者。註冊gcmregistrar.getregistrationid返回空ID

我有2個Android應用程序與2個不同的包。 我想將我的兩個應用程序註冊到Google。 我已經使用相同的方法註冊了我的應用程序。 而且我的兩個應用程序都有GCMActivity(你們都已經知道了代碼,我使用了與你們所有人相同的代碼)。

但我陷入了一種情況,其中一個應用程序無法獲得regId。

final String regId = GCMRegistrar.getRegistrationId(this); 

我試圖調試我的應用程序,並且我得到了什麼是這樣的: 應用程序A得到的RegID,但應用B只有「」值。

我不明白是什麼問題。 他們都有類似的代碼,類似的方式向Google註冊。 只有不同的包,SENDER_ID,GCMBroadcastReceiver和Android密鑰。

有沒有我的應用程序可以得到regid的方法。 它已經像一個星期了,我試圖用不同的Google帳戶和不同的PC註冊它。 但結果相同。我真的需要幫助。

謝謝。

回答

0

所有的你已經知道的代碼,我使用了相同的代碼,大家

你是錯了。您正在使用舊的和棄用的代碼。除了GCMRegistrar問題被棄用之外,GCMRegistrar.getRegistrationId(this)未註冊GCM,它只是檢索先前在成功註冊後保留在SharedPreferences中的註冊ID。如果此方法返回一個空的註冊ID,則應註冊GCM(這是通過GCMRegistrar.register()完成的)。

但是,您應該切換到使用Google Play服務庫的GoogleCloudMessaging.register方法。

+0

我已經在很多方面做到了。它適用於我的應用程序A.爲什麼你說我使用舊的和不贊成的代碼,如果我的其他應用程序工作。 – 2014-09-05 07:39:32