可访问性服务元数据文件出现问题 [Xamarin Android]

Trouble with accessibilityservice metadata file [Xamarin Android]

我正在 Xamarin 中为 Android 开发辅助功能服务。

我目前正在尝试复制此(Java/Android SDK)代码实验室,但在 Xamarin 中:https://codelabs.developers.google.com/codelabs/developing-android-a11y-service/#2

基本上这是我的无障碍服务:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android;
using Android.AccessibilityServices;
using Android.App;
using Android.Content;
using Android.Graphics;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Views.Accessibility;
using Android.Widget;

namespace AccessibilityServiceTest.Droid.Services
{
    [Service(Label = "Input Utility", Permission = Manifest.Permission.BindAccessibilityService)]
    [IntentFilter(new string[] { "android.accessibilityservice.AccessibilityService" })]
    [MetaData("android.accessibilityservice", Resource = "@xml/ServiceConfig")]
    public class TapService : AccessibilityService
    {

        public override void OnAccessibilityEvent(AccessibilityEvent e)
        {
        }

        public override void OnInterrupt()
        {
        }

        public override bool OnUnbind(Intent intent)
        {
            return base.OnUnbind(intent);
        }

        protected override void OnServiceConnected()
        {
            base.OnServiceConnected();
        }

    }
}

这是我的元数据文件:

<?xml version="1.0" encoding="utf-8" ?>
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
   android:accessibilityFeedbackType="feedbackGeneric"
   android:accessibilityFlags="flagDefault"
   android:canPerformGestures="true"
   android:canRetrieveWindowContent="true" />

但是我在 Xamarin.Android 项目的 Resources 文件夹中找不到“xml”文件夹。这是官方文档告诉我将元数据文件放在 (ServiceConfig.xml) 中的位置。我尝试在 Resources 文件夹中创建自己的 xml 文件夹,但结果是 failed processing manifest and resource xml/ServicConfig 未找到 错误。

如果有人能告诉我应该在哪里以及如何为我的 AccessibilityService 放置元数据文件 ("ServiceConfig.xml"),我会发现这很有帮助。

这就是修复错误的原因。我添加了另一个元数据文件(内容与以前相同)但命名不同(在我的例子中为 config.xml),我改为使用它,并且它有效。但是,出于某种原因,它仍然无法使用旧文件 (ServiceConfig.xml)。

添加新文件后,确保编辑属性以使用新文件的名称:

[MetaData("android.accessibilityservice", Resource = "@xml/config")]