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.
- SQLite CursorWindowAllocationException crash
- Finalizando un Cursor que no ha sido desactivado o cerrado error no fatal
- ¿Hay una buena razón para que un encabezado ListView ocupe una posición?
- POJO versus Cursores en Android
- Vincular los datos del cursor a un diseño no listado
¿Qué debo utilizar para borrar sólo ese número de teléfono (no el contacto completo)?
- Ordenar una lista en orden ascendente por fecha desde sqlite
- Cree un cursor de matriz en lugar de DB
- Optimización del acceso a cursores en Android: Posición vs nombres de columna
- Uso del cursor en android
- ¿Cuál es la mejor manera de iterar un Cursor Android?
- Cómo mostrar las imágenes guardadas en la carpeta sdcard en android
- Utilizar MergeCursor
- Cursor de Android en idiomas RTL
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);
- ¿Cuál es la forma más fácil de obtener una traza de la cola de bloqueo de Android?
- ¿Cómo abro el explorador de archivos? (SDK de Android)