我想通过使用phonegap删除Android设备上的所有联系人...请为我提供有效的代码。
我已经尝试逐个删除,但代码非常混乱.. 这对我没有用。
......
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
// specify contact search criteria
var options = new ContactFindOptions();
options.filter = "";
options.multiple = true;
navigator.contacts.find("*", onSuccess, onError, options);
}
function onSuccess(contacts) {
for (i=0;i<contacts.length;i++) {
//window.alert("ID = " + contacts[i].id);
document.write(contacts[i].displayName);
tel = contacts[i].phoneNumbers;
if (tel== null){
document.write("Sense telefon");
}else{
for (j=0;j<contacts[i].phoneNumbers.length;j++) {
if (contacts[i].phoneNumbers != null &&
contacts[i].phoneNumbers != 'undefined') {
document.write(" "+contacts[i].phoneNumbers[j].value);
}
}
}
//document.write('<button id='+i+' onClick="reply_click(this.id,contacts);">Borrar</button>');
var button = document.createElement("button");
button.id = i;
button.onclick = function() { reply_click(this.id, contacts); }; // append button to DOM
document.body.appendChild(button);
document.write(contacts[i].id);
document.write("<br/>");
}
};
function reply_click(clicked_id,contacts)
{
window.alert(clicked_id);
window.alert(contacts);
for (i=0;i<contacts.length;i++) {
if(i==clicked_id){
try{
persona = contacts[i];
persona.remove(onRemoveSuccess,onRemoveError);
window.alert("Contacte Borrat");
setTimeout("location.href='buscacont.html'", 5000);
}catch(err){
window.alert(err);
}
}
}
}
function onError(contactError) {
window.alert('onError!');
}
function onRemoveSuccess(contacts) {
window.alert("Removal Success");
}
function onRemoveError(contactError) {
window.alert("Error = " + contactError.code);
}
日志控制台没有显示有用的内容。 任何建议都会被证实。
谢谢
答案 0 :(得分:1)
var app ={
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
});
}
}
您可以将此功能称为 app.deleteAllTheContacts(); 它会自动搜索您的所有内容 接触并逐个移除它们直到您的接触长度变为零。