Added in API level 26

FillCallback


public final class FillCallback
extends Object

java.lang.Object
   ↳ android.service.autofill.FillCallback


FillCallback handles autofill requests from the AutofillService into the Activity being autofilled.

To learn about using Autofill services in your app, read Build autofill services.

Summary

Public methods

void onFailure(CharSequence message)

Notifies the Android System that a fill request ( AutofillService.onFillRequest(FillRequest, android.os.CancellationSignal, FillCallback)) could not be fulfilled by the service (for example, because the user data was not available yet), so the request could be retried later.

void onSuccess(FillResponse response)

Notifies the Android System that a fill request (AutofillService.onFillRequest(FillRequest, android.os.CancellationSignal, FillCallback)) was successfully fulfilled by the service.

Inherited methods

Object clone()

Creates and returns a copy of this object.

boolean equals(Object obj)

Indicates whether some other object is "equal to" this one.

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

final Class<?> getClass()

Returns the runtime class of this Object.

int hashCode()

Returns a hash code value for the object.

final void notify()

Wakes up a single thread that is waiting on this object's monitor.

final void notifyAll()

Wakes up all threads that are waiting on this object's monitor.

String toString()

Returns a string representation of the object.

final void wait(long timeoutMillis, int nanos)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait(long timeoutMillis)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait()

Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

Public methods

onFailure

Added in API level 26
public void onFailure (CharSequence message)

Notifies the Android System that a fill request ( AutofillService.onFillRequest(FillRequest, android.os.CancellationSignal, FillCallback)) could not be fulfilled by the service (for example, because the user data was not available yet), so the request could be retried later.

Note: this method should not be used when the service didn't have the heursitics to fulfill the request; in this case, the service should call onSuccess(null) instead.

Note: prior to Build.VERSION_CODES.Q, this method was not working as intended and the service should always call onSuccess(null) instead.

Note: for apps targeting Build.VERSION_CODES.Q or higher, this method just logs the message on logcat; for apps targetting older SDKs, it also displays the message to user using a Toast. Generally speaking, you should not display an error to the user if the request failed, unless the request had the FillRequest.FLAG_MANUAL_REQUEST flag.

Parameters
message CharSequence: error message. Note: this message should not contain PII (Personally Identifiable Information, such as username or email address). This value may be null.

Throws
IllegalStateException if this method or onSuccess(android.service.autofill.FillResponse) was already called.

onSuccess

Added in API level 26
public void onSuccess (FillResponse response)

Notifies the Android System that a fill request (AutofillService.onFillRequest(FillRequest, android.os.CancellationSignal, FillCallback)) was successfully fulfilled by the service.

This method should always be called, even if the service doesn't have the heuristics to fulfill the request (in which case it should be called with null).

See the main AutofillService documentation for more details and examples.

Parameters
response FillResponse: autofill information for that activity, or null when the service cannot autofill the activity.

Throws
IllegalStateException if this method or onFailure(java.lang.CharSequence) was already called.