¿Cómo actualizar el nombre para mostrar con la identificación de correo electrónico?
Estoy tratando de actualizar un nombre de contacto y correo electrónico de correo electrónico. Después de la gran cantidad de esfuerzos lograr que de código siguiente snipet.But hay un problema de cualquier nombre que la oferta para la actualización añadió 2 después de que cuando lo veo en la aplicación de contacto.
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>(); ops.add(ContentProviderOperation .newUpdate( ContactsContract.Data.CONTENT_URI) .withSelection( ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = ?", new String[] { String.valueOf(model .getContactid()) }) .withValue(ContactsContract.Data.MIMETYPE, Email.CONTENT_ITEM_TYPE) .withValue( ContactsContract.CommonDataKinds.Email.DATA, "[email protected]") .withValue( ContactsContract.CommonDataKinds.Email.DISPLAY_NAME, "priyanka") .withValue( ContactsContract.CommonDataKinds.Email.TYPE, ContactsContract.CommonDataKinds.Email.TYPE_WORK) .build()); getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops); Context ctx = getApplicationContext(); int duration = Toast.LENGTH_SHORT; Toast toast = Toast.makeText(ctx,"Update successful", duration); toast.show(); Logger.debug("Update successful");
Esto actualiza el nombre de presentación como "priyanka 2" en lugar de "priyanka" como se ve 2 obtener añadido después de mostrar nombre.
- Cómo crear un contacto programáticamente
- ¿Cómo agregar añadir iconos e intentos en el menú QuickContactBadge para mi programa Android?
- ¿Diferencia entre términos android?
- Android - Get Contact Foto del número de teléfono
- Consulta, copia de seguridad, eliminar, insertar contactos en Android
- Navegación incorrecta al guardar contactos en Android
- Android editar contacto
- Cómo abrir una tarjeta de contacto en Android por ID
- Contenido SMS de Android (contenido: // sms / enviado)
- ¿Cómo usar la intención de iniciar la actividad Añadir contacto?
- Obtener la identificación de contacto después de guardar el contacto con Android
- Declarado constante para el tamaño de la foto de contacto de Android?
- Obtener contactos actualizados en Android para sincronización de contactos
Finalmente lo tengo funcionado aquí allí es mi código, gracias todos por sus respuestas y ayuda
final ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>(); Cursor cursorEmail = getContentResolver() .query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, null, ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = " + model.getContactid(), null, null); if (cursorEmail.moveToFirst()) { //Update Email ops.add(ContentProviderOperation .newUpdate(Data.CONTENT_URI) .withSelection( Email.CONTACT_ID + "=? AND " + ContactsContract.Data.MIMETYPE + "=?", new String[] { String.valueOf(model .getContactid()), ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE }) .withValue( ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE) .withValue( ContactsContract.CommonDataKinds.Email.TYPE, ContactsContract.CommonDataKinds.Email.TYPE_WORK) .withValue( ContactsContract.CommonDataKinds.Email.DATA, txtEditedMailId .getText() .toString() .trim() .toLowerCase()) .build()); //Update image BitmapFactory.Options options = new BitmapFactory.Options(); options.inPreferredConfig = Bitmap.Config.ARGB_8888; Bitmap bitmap = BitmapFactory .decodeFile(localPathEditedImage, options); Logger.debug("path--------" + imgAbsPath); ByteArrayOutputStream baos = new ByteArrayOutputStream(); bitmap.compress( Bitmap.CompressFormat.PNG, 100, baos); // bm is the bitmap object byte[] photoByteArray = baos .toByteArray(); Builder builder = ContentProviderOperation .newUpdate(ContactsContract.Data.CONTENT_URI); builder = ContentProviderOperation .newUpdate(ContactsContract.Data.CONTENT_URI); builder.withSelection( ContactsContract.Data.CONTACT_ID + "=?" + " AND " + ContactsContract.Data.MIMETYPE + "=?", new String[] { String.valueOf(model .getContactid()), ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE }); builder.withValue( ContactsContract.CommonDataKinds.Photo.PHOTO, photoByteArray); ops.add(builder.build()); //Update Display name ops.add(ContentProviderOperation .newUpdate( RawContacts.CONTENT_URI) .withSelection( Email.CONTACT_ID + " = ?", new String[] { String.valueOf(model .getContactid()) }) .withValue( RawContacts.DISPLAY_NAME_PRIMARY, txtEditedName.getText() .toString()) .build()); } cursorEmail.close(); //Execute Batch getContentResolver().applyBatch( ContactsContract.AUTHORITY, ops); //Contact updated
- Android M – GoogleAccountCredential setSelectedAccount no funciona – el nombre no debe ser nulo
- Log <GATE-M> DEV_ACTION_COMPLETED </ GATE-M> parece retrasar la ejecución en Android