Hej.
Om jag skapar en kontakt m.h.a content provider:
Kod:
public void AddClient(Client client, Context context)
{
rawIndex = batch.size();
ContentProviderOperation.Builder builder = ContentProviderOperation.newInsert(RawContacts.CONTENT_URI);
builder.withValue(RawContacts.ACCOUNT_NAME, null);
builder.withValue(RawContacts.ACCOUNT_TYPE,null);
batch.add(builder.build());
addName(client, builder);
addAddress(client, builder);
addPhone(client, builder);
addData(client, builder);
}
public void execute(Context context)
{
try
{
context.getContentResolver().applyBatch(ContactsContract.AUTHORITY, batch);
batch.clear();
}
catch (Exception e)
{
Log.e("Error when executing batch",e.getMessage());
}
}
Så kommer jag en ny fin kontakt i min telefonbok.
Men om jag deletar kontakten m.h.a telefonboken så försvinner den inte från databasen, åtminstone inte all information.
Jag har ett användarnamn sparat på SYNC2.
För att kolla om en kontakt redan finns så kollar jag om användarnamnet redan finns m.h.a en cursor.
Och mycket riktigt så hittar jag ett användarnamn trots att jag tagit bort kontakten.
Jag kan ta bort kontakt helt m.h.a kod, men det skulle vara smidigt att inte behöva implementera en funktionalitet som redan finns.
Varför blir det så??