【问题标题】:Getting different device id of one device from gcm从 gcm 获取一台设备的不同设备 ID
【发布时间】:2014-11-26 13:31:57
【问题描述】:

我正在处理推送通知,我已经在谷歌控制台中注册了我的应用程序。当我获取设备 ID 时,它每次在 GCMIntentService 类的 onRegistration() 中返回不同的设备 ID。请帮助我解决这个问题。

@Override protected void onRegistered(Context context, String registrationId)
 { 
   Log.i(TAG, "Device registered: regId = " + registrationId);     
   SavePreferences(registrationId,context);
   //Log.d("NAME", MainActivity.name); 
  //ServerUtilities.register(context, MainActivity.name, MainActivity.email, registrationId); 
}

【问题讨论】:

  • 不知道你的查询是什么,但你应该调用一次获取注册id的方法
  • 我只调用这个函数一次。但是当我卸载应用程序并再次安装相同的应用程序时,它会返回不同的设备 ID。 @Override protected void onRegistered(Context context, String registrationId) { Log.i(TAG, "设备注册: regId = " + registrationId); SavePreferences(registrationId,context); //Log.d("NAME", MainActivity.name); //ServerUtilities.register(context, MainActivity.name, MainActivity.email, registrationId); }

标签: android google-cloud-messaging devicetoken


【解决方案1】:

这是正常情况。您不应该连续注册设备。注册并将deviceId 保存到某个地方(例如SharedPreferences),下次检查SharedPreferences 上是否有deviceId

我觉得你最好关注文章:https://developer.android.com/google/gcm/client.html

它拥有(几乎)你需要的一切。

【讨论】:

  • 卸载后重新安装应用程序时遇到问题。它为同一设备返回不同的设备 ID。
  • 这是预期的行为。你觉得这有什么问题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-28
相关资源
最近更新 更多