2

我在尝试对登录片段使用自动填充框架时遇到了问题,它没有显示保存弹出窗口。android:autofillHints我在两个文本字段上都放置了属性,然后我尝试android:importantForAutofill="yes"了两个相同的结果,我还尝试手动调用AutofillManager.requestAutofill()和调用。AutofillManager.commit()

接下来我从这里下载了一个示例并安装了它,它工作正常。我使用调试检查了两个应用程序中的 AutofillManager,AutofillManager.isEnabled()结果产生了不同的结果:在示例应用程序中为 true,在我的应用程序中为 false。在这两种情况下,我都检查了onCreate()应用程序第一个活动中的第一行,这两种情况下都不包含要填写的字段。

这就是为什么我认为问题不在代码或布局文件中,而在 gradle 或清单文件中,但我找不到可能影响自动填充框架的那些差异。我不认为该框架也具有配置值。我检查了 targetSdk 和 minSdk,但不是这样

我还应该检查什么?

4

2 回答 2

1

AutofillManager.isEnabled()不应在您的应用程序或示例应用程序上产生不同的结果,我的猜测是您使用错误的上下文来获取管理器,它应该是Activity.

于 2018-10-11T16:19:04.303 回答
0

您可能需要配置自动填充服务,并且需要在 onProvideAutofillStructure 方法中添加视图数据绑定逻辑。

<!--
Declare AutofillService implementation; only needed for a small number of apps that will
be implementing an AutofillService. Framework parses meta-data and sets the service's
Settings Activity based on what the meta-data resource points to.
-->
    <service
        android:name=".MyAutofillService"
        android:label="Multi-Dataset Autofill Service"
        android:permission="android.permission.BIND_AUTOFILL_SERVICE">
        <meta-data
            android:name="android.autofill"
            android:resource="@xml/multidataset_service" />

        <intent-filter>
            <action android:name="android.service.autofill.AutofillService" />
        </intent-filter>
    </service>
于 2018-10-11T16:35:46.980 回答