android - 删除 android parse.com 上的重复安装

标签 android parse-platform

我正在尝试在 Android 上重新安装时删除重复安装。 我正在从 ParseInstallation 获取查询,但它不起作用。

我在下面附上我的代码:

public boolean checkDuplicate(String id, ParseInstallation installation){




    ParseQuery<ParseInstallation> query = ParseInstallation.getQuery();
    query.whereEqualTo("userId", id);
    query.findInBackground(new FindCallback<ParseInstallation>() {
        public void done(List<ParseInstallation> list, ParseException e) {
            if (e == null) {

                //Log.d("LISTA-CHECKDUPLICATE", "id " + list.size() );
                for(int i = 0; i<list.size(); i++){
                    try {
                        list.get(i).delete();
                    } catch (ParseException e1) {
                        // TODO Auto-generated catch block
                        e1.printStackTrace();
                    }
                }

            } else {
                Log.d("LISTA-CHECKDUPLICATE", "Error: " + e.getMessage());
            }
        }
    });


    return false;

}

最佳答案

最后我用云代码解决了这个问题并在android上调用这个函数:

Parse.Cloud.define("checkDuplicado", function(request, response) {
    Parse.Cloud.useMasterKey();
    var query = new Parse.Query(Parse.Installation);
    var objectId = request.params.objectId;
    query.equalTo("userId", request.params.userId);
    query.first().then(function(duplicate) {
        if (typeof duplicate === "undefined" ) {
            console.log("Duplicate does not exist,New installation");
            response.success("Nueva Instalacion");
        } else if(duplicate.id != objectId){
            console.log("Duplicado existe..Intentando borrar " + duplicate.id );
            //console.log("userId-NUEVO " + request.object.get("userId") + " ID: " + request.object.id);
           // console.log("userId-DUPLICADO " + duplicate.get("userId") + " ID: "+ duplicate.id);
            duplicate.destroy().then(function(duplicate) {
                console.log("Duplicado borrado correctamente");
                response.success("Duplicado borrado correctamente");
            }, function() {
                console.log(error.code + " " + error.message);
                response.success("Error Borrando duplicado");
            });

           response.success("Check duplicados realizado correctamente");
        }
        else{
            response.success("Check duplicados realizado correctamente");
        }
    }, function(error) {
        console.warn(error.code + error.message);
        response.success("Error");
    });
    });

关于android - 删除 android parse.com 上的重复安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27888262/

相关文章:

android - 实例化和设置新的自定义适配器有效,但 notifyOnDataSetChanged() 无效

javascript - objectId 上的 PFQuery.find 未在 Parse JavaScript SDK(云代码)中返回唯一行

node.js - 在一个 Node.js 环境中运行多个 Parse 服务器实例

java - 如何在android中使用Retrofit登录Django服务器?

android - 如何在 Android DatePicker 中设置最小和最大日期?

java - 蓝牙发现问题

android - iOS Mobile Safari背景图片位置与CSS

swift - iOS SWIFT 和 Parse 获取日期和时间

ios - UISearchDisplayController 文本更改滞后

ios - 具有关系的 Parse.com 查询