自定义 Android 自动填充服务不会出现在自动填充应用中
Posted
技术标签:
【中文标题】自定义 Android 自动填充服务不会出现在自动填充应用中【英文标题】:Custom Android Autofill service doesn't appear in autofill apps 【发布时间】:2018-12-13 10:18:48 【问题描述】:我按照this 指南构建了一个自动填充服务。我正在通过 android Studio 在 Pixel API 27 模拟器上运行它。
这是我的清单文件:`
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme" >
<service android:name=".EmailAddressFiller"
android:permission="android.permission.BIND_AUTO_FILL">
<meta-data android:name="android.autofill"
android:resource="@xml/email_address_filler"/>
<intent-filter>
<action android:name="android.service.autofill.AutofillService"/>
</intent-filter>
</service>
<activity android:name=".MainActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
`
然而,当我进入设置 > 系统 > 语言和输入 > 自动填充服务时, 我不认为我的自定义服务是一种选择。
很想在这里听到关于这个问题的任何想法。
【问题讨论】:
我得到了类似的答案Autofill Service Provider Android Oreo: what should I do to publish my app as an Autofill service provider?的可能重复 【参考方案1】:您必须创建自定义 EditText 并将 importantForAutofill 设置为 no 和
<style name="EditTextStyleWithoutAutoFill"
parent="Widget.AppCompat.EditText">
<item name="android:importantForAutofill">no</item>
</style>
并在你的活动主题中调用它
<item name="android:editTextStyle">@style/EditTextStyleWithoutAutoFill</item>
快乐编码 ;)
【讨论】:
感谢您的快速回答!还有一件事 - 自定义 EditText 应该在哪个文件中? activity_main? 你在活动主题中称这很简单以上是关于自定义 Android 自动填充服务不会出现在自动填充应用中的主要内容,如果未能解决你的问题,请参考以下文章
Android 自定义可拖拽View,界面渲染刷新后不会自动回到起始位置