无法在Android设备的Parse中订阅频道

时间:2015-07-02 12:06:13

标签: android parse-platform push-notification

我正在开发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会返回设备令牌。我不知道它们之间的区别在哪里:第一次使用应用程序与重新打开应用程序。 有人有这个问题吗?你能给我任何解决这个问题的建议吗?

1 个答案:

答案 0 :(得分:0)

我找到了原因:Parse注册必须在基类onCreate类的Application动作处继续。然后在Parse服务器上正常检索deviceToken