我正在开发Android应用程序并使用Parse进行推送通知。目前我在注册新设备时遇到问题。我使用下面的代码在Parse服务器上的特定频道上订阅我的Android手机。
final String channel = "myapp_" + userId;
ParsePush.subscribeInBackground(channel, new SaveCallback() {
@Override
public void done(ParseException e) {
if (e != null) {
e.printStackTrace();
ParsePush.subscribeInBackground(channel, new SaveCallback() {
@Override
public void done(ParseException e) {
Log.e("Subscribe", e == null ? "Success" : "Failure");
}
});
} else {
Log.e("Subscribe", "Success");
}
}
});
我有一个奇怪的问题:
将应用程序安装到手机后,设备可以首次注册到Parse(我的设备已经成功订阅了一个频道),但GCM没有返回设备令牌。即使我等了很长时间,但没有什么好事发生。除非我退出并重新打开应用程序,否则GCM会返回设备令牌。我不知道它们之间的区别在哪里:第一次使用应用程序与重新打开应用程序。
有人有这个问题吗?你能给我任何解决这个问题的建议吗?
答案 0 :(得分:0)
我找到了原因:Parse注册必须在基类onCreate
类的Application
动作处继续。然后在Parse服务器上正常检索deviceToken
。