我想让用户自动填充框架设置屏幕,以使AutoFill
框架能够自动填充第三方应用程序中的登录表单。
那么,如何以编程方式将用户带到Oreo设备的自动填充设置屏幕?
先决条件:
用户必须启用自动填充服务。设置>系统>语言和输入>高级>输入辅助>自动填充服务。
1.提供自动填充的提示
自动填充服务通过提供可自动填充的每个视图的含义来正确分类数据,例如表示用户名和密码的视图。
xml:
android:autofillHints="AUTOFILL_HINT_USERNAME"
要么
Java:
editText.setAutofillHints(View.AUTOFILL_HINT_USERNAME);
2.强制执行自动填充请求
AutofillManager afm = getSystemService(AutofillManager.class);
if (afm != null) {
if (afm.isEnabled()) { //for afmanager is enabled or not
afm.requestAutofill(editText);
}
}
经过长时间的搜索,我找到了gitup项目的答案。
下面是用于以编程方式让用户自动填充设置屏幕的代码
if (mAutofillManager != null && !mAutofillManager.hasEnabledAutofillServices()) {
Intent intent = new Intent(Settings.ACTION_REQUEST_SET_AUTOFILL_SERVICE);
intent.setData(Uri.parse("package:com.example.android"));
startActivityForResult(intent, REQUEST_CODE_SET_DEFAULT);
}