es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo eliminar un contacto específico presionándolo en Android Studio?

Entonces hice esta pregunta pero nadie respondió: https://stackoverflow.com/questions/70339068/how-to-identify-a-contact-by-pressing-it-in-android-studio

Tal vez porque era difícil de entender, así que lo explicaré de manera breve.

¿Cómo puedo eliminar un contacto específico al presionarlo?

Vi esta pregunta similar, pero no sé qué insertar en los parámetros deleteContact(Context ctx, String phone, String name).

De todas formas, aquí está el código utilizado allí:
“`
public static boolean deleteContact(Context ctx, String phone, String name) {
Uri contactUri = Uri.withAppendedPath(PhoneLookup.CONTENT<em>FILTER</em>URI, Uri.encode(phone));
Cursor cur = ctx.getContentResolver().query(contactUri, null, null, null, null);
try {
if (cur.moveToFirst()) {
do {
if (cur.getString(cur.getColumnIndex(PhoneLookup.DISPLAY<em>NAME)).equalsIgnoreCase(name)) {
String lookupKey = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.LOOKUP</em>KEY));
Uri uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT<em>LOOKUP</em>URI, lookupKey);
ctx.getContentResolver().delete(uri, null, null);
return true;
}

<pre><code> } while (cur.moveToNext());
}

} catch (Exception e) {
System.out.println(e.getStackTrace());
}
return false;
</code></pre>

}
<code>
No sé si este es el mejor código para usar en mi caso, pero aquí está el botón conectado al código del botón "Eliminar contactos" en MainActivity.java:
</code>
Button rem<em>btn = findViewById(R.id.rem</em>btn);

rem_btn.setOnClickListener(v -> deleteContacts());
<code>
Como puedes ver,</code>deleteContacts()“` necesita parámetros, simplemente no sé qué contexto se necesita (aparentemente ninguno en MainActivity, pero luego la mitad del código desaparece; ni siquiera sabía que mi teléfono tenía una cadena adjunta a él; tampoco sé si el nombre se refiere al nombre del contacto o al nombre del teléfono).

Si quieres más detalles, el enlace está en la parte superior.

Realmente espero que alguien pueda ayudarme.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Los parámetros necesarios para la función deleteContact() son los siguientes:

    • ctx: Este es el contexto de la actividad o aplicación que llama a la función. Se necesita para acceder al resolver de contenido y consultar la base de datos de contactos.
    • phone: Este es el número de teléfono del contacto que se desea eliminar. Se utiliza para construir la consulta que encontrará el contacto en la base de datos de contactos.
    • name: Este es el nombre del contacto que se desea eliminar. Se utiliza para verificar que el contacto encontrado sea realmente el que se desea eliminar, ya que podría haber múltiples contactos con el mismo número de teléfono.

    Para eliminar un contacto específico al presionarlo, primero sería necesario identificar el contacto que se presionó y luego llamar a la función deleteContact() con los parámetros apropiados. Una forma de hacer esto sería utilizar un ListView o RecyclerView para mostrar una lista de contactos y configurar el onItemClickListener para llamar a la función deleteContact() con los valores de teléfono y nombre del contacto seleccionado.

Comments are closed.