从哪里初始化GCM的ID?
问题描述:
我在我的项目中使用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。
答
你可以得到你的ID为GCM
if (m_gcm == null)
{
m_gcm = GoogleCloudMessaging.getInstance(m_context);
}
m_regid = m_gcm.register("Your project id from google api console");
注意:请做到这一点的网络操作在后台线程..
答
使用SharedPreferences
来存储你的ID,一旦你得到一个新的。需要
步骤:(在你的onCreate做到这一点)
检查,如果你已经有了一个有效的GCM ID在你
SharedPreferences
如果你已经有一个,使用它。
否则,请求一个新的并将其保存在您的
SharedPreferences
。
另一个重要问题。谁可以自信地说 - 身份证,更改还是始终如一? – 2015-03-02 05:24:17
无论何时获得ID,您都需要将您的ID存储在SharedPreference上。当id改变时,你需要用一个新的SharedPreference替换旧的id。 – jonDoe 2015-03-02 05:36:57
我在做。并且事实证明,我有每个接收ID,并与来自SharedPreference – 2015-03-02 05:54:43