Google announced on October 21, 2026, that apps targeting the upcoming Android release or later will no longer be able to write directly to contacts with WRITE_CONTACTS unless they have MANAGE_CONTACTS. Heise and Android commentator Mishaal Rahman identify that release as Android 18; Google’s post calls it “the upcoming Android release.”

NeoTeo previously covered Android 18’s appearance on the Android Dev Summit agenda. Google’s contact-access plan is a separate change to how apps edit address books.

Google says WRITE_CONTACTS grants apps broad access to change contacts in the background, even without user interaction. The announced restriction is tied to an app’s target SDK, the Android version it is built to target: apps targeting older versions keep their current behavior, while direct writes by apps targeting the upcoming release or later will be rejected with a SecurityException or permission denial.

System intents handle ordinary contact edits

For a user-requested contact change, Google recommends ACTION_INSERT to add a contact, ACTION_EDIT to change an existing one, or ACTION_INSERT_OR_EDIT for a flow that can update an existing contact or create a new one. These system intents open Android’s contact editor, where the user can review and save the entry without granting the app direct write permission.

An app can pass EXTRA_ACCOUNT to suggest where a new contact should be saved, or EXTRA_PHOTO_URI to prefill a contact photo. Google says support for these extras will be standardized on devices running the upcoming release. For example, a badge-scanning app can send the details it has collected to the system editor for the user to check and save.

There are two practical limits for developers replacing direct writes. The editor silently ignores nonstandard MIME types passed through Insert.DATA, and Android provides no intent for deleting a contact. Users can delete entries in their Contacts app; apps with MANAGE_CONTACTS can delete them directly.

When an app may need MANAGE_CONTACTS

Three routes distinguish user-mediated contact edits, reading selected contact details and broad contact management.

MANAGE_CONTACTS is special app access, not a permission pop-up shown during ordinary app use. It covers reading, adding, editing and deleting contacts, accounts and People Directory data. A user enables it under Settings > Apps > Special app access > Manage contacts.

Google lists dedicated contact managers and dialer replacements as likely candidates, along with apps that mass-update contacts for caller ID or spam protection, sync contacts in the background, perform bulk backup or restore, transfer contacts between devices, or set custom ringtones. These are examples of likely use cases, not automatic approval: a custom-branded contact editor by itself does not qualify. Apps using the special access will need to explain in Play Console why the system intents are insufficient, on Google’s announced 2027 schedule and no earlier than the upcoming Android release.

Calling and messaging apps that add “Call with…” or “Message with…” actions to contact entries are directed to People Directory instead. Google schedules People Directory and MANAGE_CONTACTS for Android 17 QPR2 in Q4 2026.

Reading contacts has its own path

The announced Android change concerns direct writing through WRITE_CONTACTS. Android 17’s Contact Picker handles a different task: an app can receive contact details a user selects, without broad READ_CONTACTS access. The picker grants temporary read access to the selected data, such as a phone number or email address. Apps that qualify for broad reading may still request READ_CONTACTS.

Google Play has a separate policy for apps targeting Android 17 or later. It says those apps may request READ_CONTACTS when the Contact Picker cannot meet a core function’s needs; mandatory compliance is scheduled to begin January 27, 2027.

To inspect an app’s ordinary Contacts permission, open Settings > Apps > [app] > Permissions. To review permissions by type, use Settings > Security & Privacy > Privacy > Permission manager > Contacts. Menu labels can vary by Android version.