解析 - 第一次没有收到通知

时间:2015-07-25 11:09:51

标签: android parse-platform

我正在使用Parse Android SDK v 1.9.2。第一次没有收到通知。但是,如果我重新安装应用程序,则会收到通知。 我的ApplicaitonClass

CREATE DATABASE IF NOT EXISTS product_list;

DROP TABLE IF EXISTS products;
DROP TABLE IF EXISTS product_categories;
DROP TABLE IF EXISTS categories;

CREATE TABLE products (
    product_id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(50) DEFAULT NULL,
    active BOOL DEFAULT NULL
);

CREATE TABLE categories (
    category_id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50),
    structure VARCHAR(50)
);

CREATE TABLE product_categories (
    product_id INT,
    category_id INT,
    PRIMARY KEY(product_id, category_id)
);

INSERT INTO products VALUES
(NULL, "Blue Sweatshirt", false),
(NULL, "Short Sleeve T-Shirt", true),
(NULL, "White Vest", true),
(NULL, "Black Hairclip", true),
(NULL, "Knitted Hat", false),
(NULL, "Grey Sweatshirt", true),
(NULL, "Tartan Scarf", true);

INSERT INTO categories VALUES
(NULL, "Sweatshirts", "Clothes>Sweatshirts"),
(NULL, "T-Shirts", "Clothes>T-Shirts"),
(NULL, "Accessories", "Accessories"),
(NULL, "Winter", "Clothes>Winter"),
(NULL, "Vests", "Clothes>Vests");

INSERT INTO product_categories VALUES
(1, 1), (2, 2), (3, 5), (3, 4), (4, 3), (5, 3), (5, 4), (6, 1), (7, 3), (7, 4);

我在登录后注册了一些额外的属性并执行了saveInBackground ..... onCreate方法

活动正在调用,我在saveinbackground之前看到日志,而savecallback也没有错误。

 @Override
    public void onCreate() {
        super.onCreate();
......
 Parse.initialize(this, "xxx", "xxx");
.....
}

但即使在关闭应用程序并重新开始之后,它仍然无法在第一时间工作。但是,如果我重新安装该应用程序,它会起作用。

请让我知道我做错了什么。

1 个答案:

答案 0 :(得分:0)

在尝试各种示例和调试之后,我终于找到了我错误的做法。我在解析defaultInstallation中调用remove键以避免重复或数组。 所以我需要检查密钥是否存在。

if(ParseInstallation.getCurrentInstallation().get("secretId") != null && ParseInstallation.getCurrentInstallation().get("secretId").toString().length() > 0) {
    ParseInstallation.getCurrentInstallation().remove("secretId");
}