2

我在很多测试中都遇到了同样的错误:

java.lang.NoClassDefFoundError: Failed resolution of:
Landroid/view/autofill/AutofillManager$AutofillCallback;

基本上我的代码介绍了android.view.autofill.AutofillManager.AutofillCallback,但 AutofillCallback 仅适用于 API 26 及更高版本。

我猜这是错误的原因。有没有办法解决这个问题?换句话说,有没有办法只为特定的构建版本有条件地导入AutofillManager和?AutofillCallback

这是我介绍AutofillManagerand的方式AutofillCallback

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    // ... other code not shown

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
    {
        final AutofillManager autofillManager = getContext().getSystemService(AutofillManager.class);
        if (autofillManager != null && autofillManager.isAutofillSupported())
        {
            autofillManager.registerCallback(new AutofillManager.AutofillCallback()
            {
                @Override
                public void onAutofillEvent(@NonNull View view, int event)
                {
                    super.onAutofillEvent(view, event);
                    // other code not shown
                }
            });
        }
    }
4

0 回答 0