我正在使用 GCM 服务开发一个小型应用程序。
之前,我尝试向自己发送一条消息,但是(服务器端)答案是:
“成功”:0,“失败”:1,“canonical_ids”:0,“结果”:[{“错误”:“未注册”}]}
但是在我的应用程序开始时,我检查了这个:
final String regId = GCMRegistrar.getRegistrationId(this); if (regId.equals(""))
{
// Register
GCMRegistrar.register(this, SENDER_ID);
}
else ...
很明显 getRegistrationId() 只能在本地正常工作,(SharedPreferences ?)..
好消息是我从来没有取消注册我的应用程序,只是重新安装它,而不是更改版本号(因为它仍在测试中)所以在这种情况下,我的帐户已经过期,在这种情况下,谷歌不应该向我发送另一个我的 id可以在这里抓到:
@Override
protected void onRegistered
???
但是,有一种安全的方法可以了解我的应用程序是否已注册 GCM 服务器端?
谢谢!
编辑:
我在想这个:
当我通过 Eclipse 重新安装我的应用程序时,有一段时间我的应用程序没有安装,如果 GCM 服务器在那一刻向我发送一条消息,则没有接收器,因此谷歌取消了我的 ID 验证。在您看来,这个想法是愚蠢的想法吗?