如何在Jetpack Compose中集成自动填充功能。

8
我希望在使用Jetpack compose编写的应用程序中提供自动填充功能(电子邮件和密码)。我看到了这篇博客文章这个演示代码,并尝试了两者。不幸的是,在与文本字段交互时,我无法弹出任何窗口。
修改代码后,我最终使用了提供的演示。一个最简单的示例如下(ExplicitAutofillTypesDemo组合是从上述演示代码中获取的,没有进行任何修改):
class MainActivity: AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        setContent {
            ExplicitAutofillTypesDemo()
        }
    }
}

我错过了什么?我需要在其他地方启用它吗?官方的自动填充文档并没有提供太多帮助。我只想在触摸文本字段时获得自动填充弹出窗口,就像上面的博客文章中一样。
1个回答

8
在我的情况下,弹出窗口没有显示,原因是自动填充似乎只能与Google这个提供商一起使用。调试日志显示以下消息:
D/Autofill Status: Autofill popup isn't shown because autofill is not available.
    
    Did you set up autofill?
    1. Go to Settings > System > Languages&input > Advanced > Autofill Service
    2. Pick a service
    
    Did you add an account?
    1. Go to Settings > System > Languages&input > Advanced
    2. Click on the settings icon next to the Autofill Service
    3. Add your account

我以Microsoft Authenticator为例尝试了一下,但是它无法正常工作。当我转换到Google Authenticator后,一切都可以按照预期运行。


我不理解在这里使用Google作为提供者的意义是什么?我有一个简单的应用程序,我想添加这个选项。在调试模式下,我尝试运行此操作,但在日志中却打印了这个信息。我在设备上安装的其他应用程序,此功能都可以正常工作。我错过了什么。我已经添加了自动填充服务帐户。 - Ujjwal Kumar Maharana

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接