这是我在主要活动中调用的两种方法,分别在 onStart() 和 onStop() 中。
private void registerForMessages()
{
Intent registrationIntent = new Intent("com.google.android.c2dm.intent.REGISTER");
registrationIntent.putExtra("app", PendingIntent.getBroadcast(this, 0, new Intent(), 0));
registrationIntent.putExtra("sender", "my project id");
startService(registrationIntent);
}
private void unRegisterForMessages()
{
Intent unregIntent = new Intent("com.google.android.c2dm.intent.UNREGISTER");
unregIntent.putExtra("app", PendingIntent.getBroadcast(this, 0, new Intent(), 0));
startService(unregIntent);
}
其中“我的项目 ID”是我的 12 位项目编号,在 google api 控制台中启用了适用于 android 的谷歌云消息传递。两次调用这些,我得到以下日志:
08-10 15:07:19.370: D/GCM(791): [C2DMRegistrar.143] Send register result null 0 0
我已经按照我看到的为其他人设置的方式设置了清单文件。无论如何,我的接收器类永远不会被调用,注册中的错误似乎在那里停止。有谁知道错误消息甚至告诉我什么?什么样的事情可能导致此错误?
尝试在 android 官方指南上查找它有点令人困惑,因为其中一些可能是指不推荐使用的方法,而一些说明相互矛盾 - 有些人说这样做,其他人希望你使用注册方法它。