我正在开发一个Android应用程序并使用Parse推送通知。目前我在注册新设备时遇到问题。我使用下面的代码在Parse服务器上的特定频道上订阅我的Android手机。无法订阅从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");
}
}
});
我对这个奇怪的问题:
该设备可以注册安装的应用程序到手机后,解析为第1时间(我的设备已经订阅的频道成功),但GCM不返回设备令牌。即使等了很长时间,但没有什么好结果。除非我退出并重新打开应用程序,否则GCM会返回设备令牌。我不知道他们之间的区别在哪里:第一次使用应用程序vs重新打开应用程序。 有没有人有这个问题?你能给我任何解决这个问题的建议吗?
为什么在第一次没有保存设备令牌... – koutuk
@koutuk:我以前曾经使用Parse很多次,并且自从我注册设备几分钟后,他们总是从GCM获取deviceToken 。但这一次不是,尽管一切都是一样的。 我知道我们可以在客户端以编程方式创建一个令牌,但这与我们在整个应用程序中的一般解决方案不一致,而且风险更大。 –