2015-03-02 63 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