Autofill framework

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.


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.


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.