Oi gente,
Estou usando o código abaixo para atualizar as Notes da agenda de contatos padrão do android.
Quando só altero algo em uma linha já existente a alteração funciona, mas se eu aumento a quantidade
de linhas, elas não são adicionadas.
Alguém saberia identificar o problema? Agradeço desde já.
String w = ContactsContract.Data.RAW_CONTACT_ID + "='"
+ idAndroid + "' AND "
+ ContactsContract.Contacts.Data.MIMETYPE
+ " = '"
+ CommonDataKinds.Note.CONTENT_ITEM_TYPE + "'";
queryCursor = cr.query(updateUri, new String[] { BaseColumns._ID }, w, null, null);
if(queryCursor != null && queryCursor.moveToFirst()) {
long id = queryCursor.getLong(queryCursor.getColumnIndex(BaseColumns._ID));
build.add(ContentProviderOperation.newUpdate(ContactsContract.Data.CONTENT_URI)
.withSelection(BaseColumns._ID + "= ?", new String[] {String.valueOf(id) })
.withValue(CommonDataKinds.Note.NOTE, note).build());
}
queryCursor.close();
try {
cr.applyBatch(ContactsContract.AUTHORITY, build);
} catch (RemoteException e) {
Log.e("Commit exception", e.getMessage());
e.printStackTrace();
} catch (OperationApplicationException e) {
Log.e("Commit exception", e.getMessage());
e.printStackTrace();
}