2015-03-02 123 views
0

我在我的項目中使用GCM。我在哪裏獲得ID,因此它始終可用?這裏是我的代碼:「但如果我扭過頭去,然後在擴展程序,然後再次將獲得ID」從哪裏初始化GCM的ID?

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     if (!CloudMessaging.checkPlayServices(this)) { 
      return; 
     } 
     CloudMessaging.getInstance(this).setRegistrationListener(eventHandler); 
    } 

- >可能: 如果我改變我的方向,那麼我又會得到一個新的Id。

+0

另一個重要問題。誰可以自信地說 - 身份證,更改還是始終如一? – 2015-03-02 05:24:17

+0

無論何時獲得ID,您都需要將您的ID存儲在SharedPreference上。當id改變時,你需要用一個新的SharedPreference替換舊的id。 – jonDoe 2015-03-02 05:36:57

+0

我在做。並且事實證明,我有每個接收ID,並與來自SharedPreference – 2015-03-02 05:54:43

回答

0

你可以得到你的ID爲GCM

if (m_gcm == null) 
{ 
     m_gcm = GoogleCloudMessaging.getInstance(m_context); 
} 
m_regid = m_gcm.register("Your project id from google api console"); 

注意:請做到這一點的網絡操作在後臺線程..

0

使用SharedPreferences來存儲你的ID,一旦你得到一個新的。需要

步驟:(在你的onCreate做到這一點)

  • 檢查,如果你已經有了一個有效的GCM ID在你SharedPreferences

  • 如果你已經有一個,使用它。

  • 否則,請求一個新的並將其保存在您的SharedPreferences