Autofill framework
Stay organized with collections
Save and categorize content based on your preferences.
The autofill framework is available in Android 8.0 (API level 26) and higher.
Some apps, such as password managers, can fill out the views in other apps with
data provided by the user. Apps that fill out other apps' views are called
autofill services. The autofill framework manages the communication between an
app and an autofill service.
Filling out forms is a time-consuming and error-prone task. The autofill
framework improves the user experience by providing the following benefits:
- Saving time spent filling in fields. Autofill saves users from re-typing
information.
- Minimizing user input errors. Typing is prone to errors, especially on
mobile devices. Minimizing the need to type information minimizes typos.
Components
The autofill framework contains the following high-level components:
- Autofill services: apps such as password managers that save and store
user information that can be used in views across multiple apps.
- Autofill clients: apps that provide views that need to be filled out or
that hold the user's data.
- Android system: the OS that defines the workflow and provides the
infrastructure that makes services and clients work together.
For a detailed explanation of the autofill workflow, see the
AutofillService
and
AutofillManager
reference
documentation.
Guides
To learn more about how to use the autofill framework, see the following guides:
- Optimize your app for autofill
- Check that your app is configured for use with the autofill framework.
- Build autofill services
- Implement your own autofill service.
- Integrate autofill with keyboards
- Enable keyboards and other IMEs to use autofill, and enable your autofill
provider to support IME integration.
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-08-26 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-26 UTC."],[],[],null,["The autofill framework is available in Android 8.0 (API level 26) and higher.\n\nSome apps, such as password managers, can fill out the views in other apps with\ndata provided by the user. Apps that fill out other apps' views are called\n*autofill services*. The autofill framework manages the communication between an\napp and an autofill service.\n\nFilling out forms is a time-consuming and error-prone task. The autofill\nframework improves the user experience by providing the following benefits:\n\n- **Saving time spent filling in fields.** Autofill saves users from re-typing information.\n- **Minimizing user input errors.** Typing is prone to errors, especially on mobile devices. Minimizing the need to type information minimizes typos.\n\n| **Note:** Autofill works well with [Credential Manager](/identity/sign-in/credential-manager) and [passkeys](https://developers.google.com/identity/passkeys) to provide increased security and a smoother workflow.\n\nComponents\n\nThe autofill framework contains the following high-level components:\n\n- **Autofill services:** apps such as password managers that save and store user information that can be used in views across multiple apps.\n- **Autofill clients:** apps that provide views that need to be filled out or that hold the user's data.\n- **Android system:** the OS that defines the workflow and provides the infrastructure that makes services and clients work together.\n\nFor a detailed explanation of the autofill workflow, see the\n[`AutofillService`](/reference/android/service/autofill/AutofillService) and\n[`AutofillManager`](/reference/android/view/autofill/AutofillManager) reference\ndocumentation.\n\nGuides\n\nTo learn more about how to use the autofill framework, see the following guides:\n\n[Optimize your app for autofill](/guide/topics/text/autofill-optimize)\n: Check that your app is configured for use with the autofill framework.\n\n[Build autofill services](/guide/topics/text/autofill-services)\n: Implement your own autofill service.\n\n[Integrate autofill with keyboards](/guide/topics/text/ime-autofill)\n: Enable keyboards and other IMEs to use autofill, and enable your autofill\n provider to support IME integration."]]