无法删除联系人,android phonegap

无法删除联系人,android phonegap,android,cordova,android-contacts,contactscontract,Android,Cordova,Android Contacts,Contactscontract,我正在phonegap-3.1.0中开发android应用程序 我想在我的应用程序中使用电话联系人,因此我必须参考此信息 已成功安装联系人的插件 当我删除保存的联系人(从javascript代码中保存)时,它会提醒删除成功 但当我进入联系人时,它仍然没有从这里移除 每次我尝试时,它都会保存联系人,但不会删除,因为会出现类似“删除成功”的警报 我该怎么办。。。 所以我需要帮助,为什么不能删除联系人我已经创建了一个用于插入和删除联系人的应用程序 您可以在github上分叉。你一定能解决你的问题。 我

我正在phonegap-3.1.0中开发android应用程序 我想在我的应用程序中使用电话联系人,因此我必须参考此信息

已成功安装联系人的插件

当我删除保存的联系人(从javascript代码中保存)时,它会提醒删除成功 但当我进入联系人时,它仍然没有从这里移除

每次我尝试时,它都会保存联系人,但不会删除,因为会出现类似“删除成功”的警报

我该怎么办。。。
所以我需要帮助,为什么不能删除联系人

我已经创建了一个用于插入和删除联系人的应用程序

您可以在github上分叉。你一定能解决你的问题。 我已使用联系人ID进行删除。 这是简短的代码

var应用程序={
/********************其他代码*************************/
openContacts:function(){
app.initialize();
var options=new ContactFindOptions();
options.filter=“”;
options.multiple=true;
var fields=[“*”];/“*”将返回所有联系人字段
navigator.contacts.find(字段、app.onSuccess、app.onError、选项);
},
//在DOM中写入联系人
onSuccess:功能(联系人){
var li='';
$。每个(联系人、功能(键、值){
if(value.name){
$.each(value.name,函数(键,值){
如果(键=='已格式化'){
名称=值;
}
});
}
如果(值注释){
注=值。注;
}
if(value.id){
id=value.id;
} 
console.log(“id:+id+”->name:+name+”->note:+note);
li+='
  • Name:'+Name+'
    注意:'+Note+'
  • ; });//请注意,ID作为参数传递以删除特定联系人。 $(“#contact”).html(li); }, OneError:功能(contactError){ 警报('onError!'+contactError.code); }, removeThisContact:函数(id、名称){ console.log(“删除联系人:+姓名”); options=new ContactFindOptions();//查找要删除的联系人 options.filter.id=id; options.multiple=“true”; var fields=[“displayName”,“name”];//您可以选择任何。。 navigator.contacts.find(字段、删除此项、app.onError、选项); 功能删除此(联系人){ var contact=contacts.pop(); //记录要解决的问题。 log('内部deleteThisContact:传递的参数:'+联系人); console.log(“弹出:+contact”); contact.remove(函数(){ $(“#状态区域”) .flash_信息({ 文本:“联系人已删除!”, 如何:“追加” }); app.openContacts(); },空); }, 删除所有联系人:函数(){ var deleteContact=功能(触点){ console.log(“length=“+contacts.length”); //没有联系人,请停止保存 如果(contacts.length==0){ console.log(“删除所有联系人”); 返回; } var contact=contacts.pop(); contact.remove(函数(){ 删除联系人(联系人); },空); }; navigator.contacts.find([“*”],deleteContact,app.onError{ “多重”:正确 }); }, /********************其他代码*************************/ } $.fn.flash\u消息=功能(选项){ //闪现你的信息 }

    希望这将对您有所帮助。:)

    我在github上更新文件时遇到问题…repo的更新将在24小时内提供。谢谢您现在提供完整的软件包。。
        var app ={
    /********************SOME OTHER CODE*************************/
            openContacts: function() {
            app.initialize();
            var options = new ContactFindOptions();
            options.filter = "";
            options.multiple = true;
            var fields = ["*"]; //"*" will return all contact fields
            navigator.contacts.find(fields, app.onSuccess, app.onError, options);
        },
    // Write contacts in DOM
        onSuccess: function(contacts) {
            var li = '';
            $.each(contacts, function(key, value) {
                if (value.name) {
                    $.each(value.name, function(key, value) {
                        if (key === 'formatted') {
                            name = value;
                        }
                    });
                }
                if (value.note) {
                    note = value.note;
                }
                if (value.id) {
                    id = value.id;
                } 
                console.log("id : " + id + "-> name : " + name + " -> note : " + note);
                li += '<li style="text-decoration:none;"><b>Name</b>: ' + name + '<div class="removeIcon pullRight" onclick="app.removeThisContact(\'' + id + '\',\'' + name + '\')">&nbsp;</div><br><b> Note:</b> ' + note + '</li>';
            }); // NOTICE the ID is passed as PARAMETER to remove specific contact.
            $("#contact").html(li);
        },
        onError: function(contactError) {
            alert('onError!' + contactError.code);
        },
        removeThisContact: function(id, name) {
            console.log("removing contact : " + name);      
            options = new ContactFindOptions(); // find the contact to delete
            options.filter.id = id;
            options.multiple = "true";
            var fields = ["displayName", "name"]; // you can take any.. 
            navigator.contacts.find(fields, deleteThis, app.onError, options);
    
            function deleteThis(contacts) {
                var contact = contacts.pop();
    // logging things to troubleshoot.
                console.log('inside deleteThisContact: parameter passed: '+ contacts);
                console.log("popped out:" +contact);
                    contact.remove(function() {
                        $('#status-area')
                        .flash_message({
                            text: 'Contact Removed!',
                            how: 'append'
                        });
                        app.openContacts();
                    }, null);        
            },
        deleteAllTheContacts: function() {
            var deleteContact = function(contacts) {
                console.log("length = " + contacts.length);
                // No contacts left, stop saving
                if (contacts.length == 0) {
                    console.log("All contacts removed");
                    return;
                }
    
                var contact = contacts.pop();
    
    
    contact.remove(function() {
                    deleteContact(contacts);
                }, null);
            };
    
            navigator.contacts.find(["*"], deleteContact, app.onError, {
                "multiple": true
            });
        },
    /********************SOME OTHER CODE*************************/
        }
    $.fn.flash_message = function(options) {
         //flash your message
    }