AutofillManager 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
类 AutofillManager
为应用和自定义视图提供了与自动填充框架生命周期集成的方法。
[Android.Runtime.Register("android/view/autofill/AutofillManager", ApiSince=26, DoNotGenerateAcw=true)]
public sealed class AutofillManager : Java.Lang.Object
[<Android.Runtime.Register("android/view/autofill/AutofillManager", ApiSince=26, DoNotGenerateAcw=true)>]
type AutofillManager = class
inherit Object
- 继承
- 属性
注解
类 AutofillManager
为应用和自定义视图提供了与自动填充框架生命周期集成的方法。
若要了解如何在应用中使用自动填充,请阅读自动填充框架指南。
<h3 id=“autofill-lifecycle”>Autofill lifecycle</h3>
自动填充生命周期从创建与活动上下文关联的自动填充上下文开始。 当在活动上下文中首次调用以下方法之一,并且当前用户已启用自动填充服务时,将创建自动填充上下文:
<ul><li><#notifyViewEntered(View)
li>#notifyViewEntered(View, int, Rect)
<li>#requestAutofill(View)
</ul>
通常,当活动的第一个视图聚焦时,会自动创建上下文,因为 View.onFocusChanged()
间接调用 #notifyViewEntered(View)
。 例如,应用开发人员可以调用 #requestAutofill(View)
来显式创建它 (自定义视图开发人员可以在文本字段视图中提供上下文菜单操作,以允许用户手动请求自动填充) 。
创建上下文后,Android 系统 android.view.ViewStructure
将通过在所有应用程序窗口的根视图中调用 来创建 View#dispatchProvideAutofillStructure(android.view.ViewStructure, int)
表示视图层次结构的 。 默认情况下,dispatchProvideAutofillStructure()
会针对层次结构中的每个视图生成对 和 View#onProvideAutofillVirtualStructure(android.view.ViewStructure, int)
的后续调用View#onProvideAutofillStructure(android.view.ViewStructure, int)
。
然后,生成的 android.view.ViewStructure
将传递给自动填充服务,该服务会分析该服务以查找可自动填充的视图。 如果服务找到此类视图,它将向 Android 系统返回包含以下可选信息的数据结构:
<用于在活动中自动填充视图子集的 ul><li>数据集。 <服务可以保存其值以供将来自动填充的视图的 li>ID。 </ul>
当服务返回数据集时,当视图聚焦并且是数据集的一部分时,Android 系统会显示与视图关联的自动填充数据集选取器 UI。 通过 注册 AutofillCallback
#registerCallback(AutofillCallback)
,可以在显示 UI 时通知应用程序。 当用户从 UI 中选择数据集时,将通过调用 View#autofill(AutofillValue)
或 View#autofill(SparseArray)
自动填充数据集中的所有视图。
当服务返回可操作视图的 ID 时,Android 系统会跟踪对这些视图所做的更改,以便它们可用于确定是否稍后显示自动填充保存 UI。
然后,当发生以下情况之一时,将完成上下文:
<ul><li>#commit()
被称为或所有可恶的视图都消失了。 <名为 li>#cancel()
。 </ul>
最后,在自动填充上下文提交 (即未取消) 后,如果可操作视图的值已更改,Android 系统将显示自动填充保存 UI。 如果用户选择“保存”选项,则视图的当前值将发送到自动填充服务。
<h3 id=“additional-notes”>Additional notes</h3>
从任何线程调用 AutofillManager
方法都是安全的。
的 android.view.autofill.AutofillManager
Java 文档。
此页面的某些部分是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的条款使用。
字段
ExtraAssistStructure |
意向额外:捕获已填充屏幕的辅助结构。 |
ExtraAuthenticationResult |
意向额外:身份验证操作的结果。 |
ExtraAuthenticationResultEphemeralDataset |
意向额外:身份验证操作结果随附 |
ExtraClientState |
额外意向:提供的 |
ExtraInlineSuggestionsRequest |
意向额外: |
属性
AutofillServiceComponentName |
返回为当前用户启用的 |
AvailableFieldClassificationAlgorithms |
获取当前可用于字段分类的所有算法的名称。 |
Class |
返回此 |
DefaultFieldClassificationAlgorithm |
获取用于字段分类的默认算法的名称。 |
Handle |
基础 Android 实例的句柄。 (继承自 Object) |
HasEnabledAutofillServices |
|
IsAutofillSupported |
|
IsEnabled |
检查是否为当前用户启用了自动填充。 |
IsFieldClassificationEnabled |
检查是否启用了字段分类。 |
JniIdentityHashCode |
类 |
JniPeerMembers |
类 |
NextAutofillId |
获取活动上下文的下一个唯一自动填充 ID。 |
PeerReference |
类 |
ThresholdClass |
此 API 支持 Mono for Android 基础结构,不应直接从代码中使用。 (继承自 Object) |
ThresholdType |
此 API 支持 Mono for Android 基础结构,不应直接从代码中使用。 (继承自 Object) |
UserData |
获取用于字段分类的用户数据。 - 或 - 设置 |
UserDataId |
获取用于字段分类的 的 |
方法
Cancel() |
调用以指示应取消当前自动填充上下文。 |
Clone() |
创建并返回此对象的副本。 (继承自 Object) |
Commit() |
调用以指示应提交当前自动填充上下文。 |
DisableAutofillServices() |
如果调用此 API 的应用已启用自动填充服务,则会禁用这些服务。 |
Dispose() |
类 |
Dispose(Boolean) |
类 |
Equals(Object) |
指示某个其他对象是否“等于”此对象。 (继承自 Object) |
GetHashCode() |
返回对象的哈希代码值。 (继承自 Object) |
JavaFinalize() |
当垃圾回收确定不再引用对象时,由垃圾回收器对对象调用。 (继承自 Object) |
Notify() |
唤醒正在等待此对象的监视器的单个线程。 (继承自 Object) |
NotifyAll() |
唤醒正在等待此对象的监视器的所有线程。 (继承自 Object) |
NotifyValueChanged(View) |
调用以指示已更改的自动填充值 |
NotifyValueChanged(View, Int32, AutofillValue) |
调用以指示可自动填充虚拟视图的值已更改。 |
NotifyViewClicked(View) |
调用以指示 |
NotifyViewClicked(View, Int32) |
调用以指示已单击虚拟视图。 |
NotifyViewEntered(View) |
在输入支持自动填充的 时 |
NotifyViewEntered(View, Int32, Rect) |
在输入支持自动填充的虚拟视图时调用。 |
NotifyViewExited(View) |
退出支持自动填充的 时 |
NotifyViewExited(View, Int32) |
退出支持自动填充的虚拟视图时调用。 |
NotifyViewVisibilityChanged(View, Boolean) |
在可见性更改时 |
NotifyViewVisibilityChanged(View, Int32, Boolean) |
在虚拟视图的可见性更改时调用。 |
NotifyVirtualViewsReady(View, SparseArray) |
当虚拟视图可供用户自动填充时调用。 |
RegisterCallback(AutofillManager+AutofillCallback) |
注册 以 |
RequestAutofill(View) |
显式请求新的自动填充上下文。 |
RequestAutofill(View, Int32, Rect) |
显式请求虚拟视图的新自动填充上下文。 |
SetHandle(IntPtr, JniHandleOwnership) |
设置 Handle 属性。 (继承自 Object) |
ShowAutofillDialog(View) |
如果的自动填充建议 对话框样式 UI 可用于 |
ShowAutofillDialog(View, Int32) |
如果的自动填充建议 对话样式 UI 可用于虚拟 |
ToArray<T>() |
类 |
ToString() |
返回对象的字符串表示形式。 (继承自 Object) |
UnregisterCallback(AutofillManager+AutofillCallback) |
取消注册 |
UnregisterFromRuntime() |
类 |
Wait() |
导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>。<> (继承自 Object) |
Wait(Int64) |
导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<> (继承自 Object) |
Wait(Int64, Int32) |
导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<> (继承自 Object) |
显式接口实现
IJavaPeerable.Disposed() |
类 |
IJavaPeerable.DisposeUnlessReferenced() |
类 |
IJavaPeerable.Finalized() |
类 |
IJavaPeerable.JniManagedPeerState |
类 |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
类 |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
类 |
IJavaPeerable.SetPeerReference(JniObjectReference) |
类 |
扩展方法
JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
JavaCast<TResult>(IJavaObject) |
类 |
GetJniTypeName(IJavaPeerable) |
类 |