Cómo eliminar el número de teléfono de contacto en android?

Quiero borrar (por ejemplo, número de móvil) de la base de datos de Android. Para eso estoy pasando la consulta como sigue

public class ContactDemo extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); String number = "2222"; Long id = getID(number); int i = getContentResolver().delete(RawContacts.CONTENT_URI, RawContacts._ID+"=?", new String[]{id.toString()}); System.out.println("Deleted"+i); } public Long getID(String number){ Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(number)); Cursor c = getContentResolver().query(uri, new String[]{PhoneLookup._ID}, null, null, null); while(c.moveToNext()){ return c.getLong(c.getColumnIndex(PhoneLookup._ID)); } return null; } } 

Pero está eliminando todo el contacto.

¿Qué debo utilizar para borrar sólo ese número de teléfono (no el contacto completo)?

Utilice el método de eliminación de ContentResolver para eliminar todo el contacto. Para actualizar el número de teléfono de este contacto a un valor vacío, debe utilizar la API ContactsContact.

http://developer.android.com/reference/android/provider/ContactsContract.Data.html

Al proporcionar la identificación de contacto en bruto y un Phone.CONTENT_ITEM_TYPE, sólo puede solicitar el número de teléfono que pertenece a este contacto y, a continuación, eliminarlos.

  ArrayList<ContentProviderOperation> ops = Lists.newArrayList(); ops.add(ContentProviderOperation.newDelete(Data.CONTENT_URI) .withSelection(Data._ID + "=? and " + Data.MIMETYPE + "=?", new String[]{String.valueOf(contactId), Phone.CONTENT_ITEM_TYPE}) .build()); getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops); 
  • Modificar el valor de las columnas Cursor en android
  • Obtener problemas de rendimiento de contactos
  • Agregar el contenido de un Cursor a otro Cursor
  • Android Cursor.registerContentObserver ()
  • Android obtiene un cursor sólo con contactos que tienen un correo electrónico listado> android 2.0
  • Android CursorLoader
  • Escribir dentro de un cursor Android
  • ¿Cómo puedo hacer que mi Cursor sobreviva a un cambio de orientación?
  • SimpleCursorAdapter, Cambiando el cursor en el nivel de API por debajo de 11
  • Notificar cambios de datos en un cursor sin utilizar un ContentProvider
  • Consultar el cursor MediaStore utilizando una carpeta específica
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.