是否有什么错误的事实是,我每次登录到我的Android应用程序时,我所做的第一件事就是注册到GCM。 我知道没有必要这样做,但为了检查注册ID是刷新到新的还是一样的,我打算重新注册。明确重新注册设备到GCM
final String regId = GCMRegistrar.getRegistrationId(this);
if (regId.equals("")) {
GCMRegistrar.register(this, SENDER_ID);
} else {
Log.v(TAG, "Already registered");
}
我也想知道如果通过重新注册GCM我不知何故迫使注册ID过期。
谢谢!!!
谢谢。我想我跳过了GCM发送给客户端的那部分注册ID的广播。你能写信给我或者请教一个如何捕捉这个广播信息的例子吗?:)比你! –
对不起,我现在找不到一段代码,但如果您阅读http://stackoverflow.com/questions/17891399/should-applications-call-gcm-register-every-seven-days-to-ensure-有效注册/ 17892487#17892487,它应该是直截了当,就像你实现其他广播接收器。实际的文档不提供代码sniplets,但只是提到了上述事情。 –
@justME你不需要定义一个新的'BroadcastReceiver'。您只能在'GCMBroadcastReciever'中处理' ''。把它放在'intent-filter'里面。每当你收到广播时,检查'action'是否是'com.google.android.c2dm.intent.REGISTRATION'。然后你可以通过从意图中提取ID来更新ID。现在希望它有点清楚。 –