Android DevelopmentOctober 31, 2026•106 views

Cambios en los permisos de contactos de Android: guía de MANAGE_CONTACTS

Android limitará la escritura directa de contactos para las apps que apunten a la próxima versión. Conoce los intents, Contact Picker, People Directory y MANAGE_CONTACTS.

#Android permissions#contacts#Android development#Google Play policy#privacy
Cambios en los permisos de contactos de Android: guía de MANAGE_CONTACTS

Resumen del Artículo

This article covers Cambios en los permisos de contactos de Android: guía de MANAGE_CONTACTS. Android limitará la escritura directa de contactos para las apps que apunten a la próxima versión. Conoce los intents, Contact Picker, People Directory y MANAGE_CONTACTS.

Puntos Clave

  • Published: October 31, 2026
  • Category: Android Development
  • Tags: Android permissions, contacts, Android development, Google Play policy, privacy
  • Views: 106
  • Reading time: ~17 min read

"Android limitará la escritura directa de contactos para las apps que apunten a la próxima versión. Conoce los intents, Contact Picker, People Directory y MANAGE_CONTACTS."

BTTC Blog — "Cambios en los permisos de contactos de Android: guía de MANAGE_CONTACTS"

Cambios en los permisos de contactos de Android y nuevo flujo de edición

El acceso a los contactos en Android está cambiando. La modificación afectará al desarrollo de aplicaciones, a las revisiones de políticas de Google Play y a las decisiones de privacidad que ven los usuarios. Google anunció el 21 de octubre de 2026 que las aplicaciones que apunten a la próxima versión de Android ya no podrán escribir directamente en los contactos con WRITE_CONTACTS de forma predeterminada. Para la mayoría de las apps, la recomendación será usar intents de contactos estandarizados o superficies del sistema con un alcance más limitado.

No es una prohibición de todas las funciones de contactos y las aplicaciones actuales no dejarán de funcionar de inmediato. El cambio principal consiste en pasar de un permiso capaz de modificar toda la agenda en segundo plano a acciones iniciadas y confirmadas por el usuario: insertar un contacto, editarlo, permitir que el usuario elija una persona o publicar funciones de llamadas y mensajes en un directorio del sistema. Migrar pronto reduce solicitudes innecesarias y evita una corrección de última hora al adoptar el nuevo Android.

Resumen: la mayoría de las apps no debe escribir contactos directamente

Si el usuario quiere guardar una tarjeta, añadir un número o editar un contacto, utiliza ACTION_INSERT, ACTION_EDIT o ACTION_INSERT_OR_EDIT. Estos flujos abren el editor del sistema y no requieren un permiso amplio de escritura en los dispositivos que ejecuten la próxima versión de Android.

Usa Contact Picker cuando solo sea necesario elegir una persona. Usa People Directory cuando una aplicación de llamadas o mensajería quiera ofrecer acciones como “Llamar con…” o “Enviar mensaje con…” sin añadir filas artificiales a la agenda. Reserva MANAGE_CONTACTS para productos cuyo objetivo central realmente exige gestionar contactos de forma amplia, como un gestor dedicado, un reemplazo del marcador o una herramienta de copias de seguridad. Consulta el anuncio oficial de Android Developers y la referencia de intents comunes.

Por qué Google está sustituyendo la escritura amplia

El modelo anterior trata casi igual una petición puntual del usuario y el mantenimiento continuo de toda la agenda. Una app que solo guarda un contacto puede solicitar WRITE_CONTACTS, pero ese permiso también permite cambios masivos en segundo plano. El usuario no puede saber por el diálogo si se trata de una acción limitada o de un acceso muy potente.

El nuevo diseño parte de la acción inmediata del usuario. Cuando la app abre el editor de contactos del sistema, el usuario puede ver los campos, la cuenta de destino y la confirmación final. El sistema conserva ese límite sin entregar a la app capacidad ilimitada de escritura. Es la misma idea de otras funciones de privacidad de Android: utilizar la capacidad mínima necesaria y mantener al usuario al mando de la última acción.

Google también está corrigiendo diferencias entre dispositivos. En el pasado, algunos editores perdían fotos, otros ocultaban la opción de crear un contacto y algunos trataban el botón de volver de forma inesperada. La próxima versión estandarizará las acciones de inserción y edición para que el flujo sea más predecible.

Rutas de migración para desarrolladores

Guarda o edita un contacto con un intent

Los escáneres de tarjetas, chats, aplicaciones de pedidos y herramientas de eventos normalmente no necesitan acceso amplio. Usa ACTION_INSERT para crear un contacto, ACTION_INSERT_OR_EDIT cuando pueda añadirse un teléfono o correo a uno existente y ACTION_EDIT cuando ya exista un URI concreto.

Prueba toda la experiencia: selección de cuenta, fotos, teléfonos, correos, cancelación, rotación y resultado después de guardar. Los tipos MIME personalizados fuera de ContactsContract.CommonDataKinds pueden ser ignorados por el editor, así que prepara una alternativa clara para los campos que no se puedan transferir.

Usa Contact Picker para que el usuario elija

Si solo necesitas una persona elegida por el usuario, leer toda la agenda es excesivo. Contact Picker, disponible desde Android 17, permite seleccionar un contacto sin un permiso amplio. Las invitaciones, pagos, viajes compartidos y funciones de transporte suelen necesitar una persona seleccionada, no una base de datos completa.

También mejora la experiencia. El selector explica por qué se necesita el dato en el momento de la elección, en lugar de pedir un permiso amplio antes de que el usuario entienda la función.

Publica la capacidad de contacto con People Directory

Las apps de llamadas y mensajes a veces escriben filas adicionales para mostrar “Llamar con…” o “Enviar mensaje con…”. Google está introduciendo People Directory en Android QPR2, previsto para el cuarto trimestre de 2026. La aplicación podrá publicar cómo contactar con otras personas dentro de ella sin modificar la agenda personal.

La separación es más clara: la aplicación de contactos conserva la agenda personal y el directorio describe las funciones de la app. Sigue la disponibilidad de QPR2 y prueba la integración en dispositivos compatibles antes de eliminar las compatibilidades antiguas.

Cuándo está justificado MANAGE_CONTACTS

MANAGE_CONTACTS es un acceso especial, no un diálogo de permiso normal. El usuario lo activa en Ajustes > Acceso especial de aplicaciones > Gestionar contactos. En las apps que cumplen los requisitos incluye lectura, por lo que quizá no sea necesario solicitar también READ_CONTACTS.

Puede estar justificado en gestores de contactos, reemplazos del marcador, protección contra spam que actualiza muchos registros, sincronización empresarial, copias de seguridad masivas y transferencias entre dispositivos. Querer mantener una pantalla personalizada no es suficiente.

Lista de migración

  1. Busca WRITE_CONTACTS, escrituras directas con ContentResolver, filas personalizadas y declaraciones de Play.
  2. Clasifica cada función como inserción, edición, selección, capacidad dentro de la app o gestión amplia.
  3. Sustituye las acciones de un contacto por los intents estándar.
  4. Usa Contact Picker cuando solo haya que seleccionar.
  5. Evalúa People Directory para llamadas y mensajes dentro de la app.
  6. Conserva MANAGE_CONTACTS solo cuando la función principal lo necesite y documenta el motivo.
  7. Prueba la versión nueva y las anteriores, incluida la cancelación y los datos incompletos.
  8. Alinea el Manifest, la declaración de Play, la política de privacidad y la explicación dentro de la app.

Los usuarios pueden aplicar una regla parecida: elegir apps que expliquen sus permisos y ofrezcan acciones iniciadas por el usuario. Para comparar herramientas Android, fuentes oficiales, permisos y notas de privacidad, consulta el directorio de software Android de BTTC.

Preguntas frecuentes

¿Afecta de inmediato a todas las apps Android?

No. La restricción se aplica a las apps que apunten a la próxima versión de Android. Las que usen un objetivo anterior mantienen su comportamiento actual.

¿Una app puede borrar contactos con un intent?

No. No existe un intent estándar para borrar contactos. Normalmente el usuario los elimina desde la aplicación de contactos; las apps con MANAGE_CONTACTS justificado pueden hacerlo directamente.

¿MANAGE_CONTACTS sustituye a READ_CONTACTS?

Incluye lectura para las apps que cumplen los requisitos, pero una app que solo lee y no modifica contactos todavía puede justificar READ_CONTACTS.

¿Se puede conservar un editor personalizado?

Solo si el producto realmente necesita gestionar contactos de forma amplia. Mantener una interfaz propia no basta.

Conclusión

Android está haciendo que el acceso a contactos sea más explícito y esté mediado por el usuario. Para la mayoría de las apps, la migración es clara: intents para guardar y editar, Contact Picker para seleccionar y People Directory para llamadas y mensajes dentro de la app. Reserva MANAGE_CONTACTS para los productos que administran agendas a gran escala y prueba el cambio de target SDK antes de publicar.

💡Conclusion

Android está haciendo que el acceso a contactos sea más explícito. Usa intents, Contact Picker y People Directory en la mayoría de los casos y reserva MANAGE_CONTACTS para una gestión amplia realmente necesaria.

❓Preguntas Frecuentes

¿Afecta de inmediato a todas las apps Android?
No. La restricción se aplica a las apps que apunten a la próxima versión; los objetivos anteriores mantienen su comportamiento.
¿Una app puede borrar contactos con un intent?
No. No existe un intent estándar para borrar; normalmente se hace desde la aplicación de contactos.
¿MANAGE_CONTACTS sustituye a READ_CONTACTS?
Incluye lectura para apps elegibles, pero las apps que solo leen pueden seguir justificando READ_CONTACTS.
¿Se puede conservar un editor personalizado?
Solo si la función central requiere gestión amplia; una interfaz propia no es suficiente.

📋Referencia Rápida del Artículo

📅
Fecha de publicación

October 31, 2026

🏷️
Categoría

Android Development

🔖
Etiquetas
Android permissionscontactsAndroid developmentGoogle Play policyprivacy