Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
accessibilityservice元数据文件[Xamarin Android]出现问题_Android_Xamarin_Xamarin.android - Fatal编程技术网

accessibilityservice元数据文件[Xamarin Android]出现问题

accessibilityservice元数据文件[Xamarin Android]出现问题,android,xamarin,xamarin.android,Android,Xamarin,Xamarin.android,我正在Xamarin为Android开发可访问性服务 我目前正在尝试复制这个(Java/Android SDK)codelab,但在Xamarin中: 基本上,这里是我的无障碍服务: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Android; using Android.AccessibilityServices; using Android.App; u

我正在Xamarin为Android开发可访问性服务

我目前正在尝试复制这个(Java/Android SDK)codelab,但在Xamarin中:

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

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文件夹,但导致处理清单失败,并且出现resource xml/ServicConfig not found错误


如果有人能告诉我在何处以及如何放置元数据文件(“ServiceConfig.xml”)以获得AccessibilityService,我会觉得非常有帮助。

这就是修复错误的方法。我添加了另一个元数据文件(与以前的内容相同),但将其命名为不同的(在我的示例中为config.xml),然后我使用了它,它成功了。但是,由于某些原因,它仍然无法使用旧文件(ServiceConfig.xml)

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


[元数据(“android.accessibilityservice”,Resource=“@xml/config”)]

所以这就是修复错误的方法。我添加了另一个元数据文件(与以前的内容相同),但将其命名为不同的(在我的示例中为config.xml),然后我使用了它,它成功了。但是,由于某些原因,它仍然无法使用旧文件(ServiceConfig.xml)

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


[元数据(“android.accessibilityservice”,Resource=“@xml/config”)]

能否检查编译时生成的AndroidManifest.xml文件?它应该在obj/Debug/Android或者类似的地方。这可能是因为它缺少了一些东西。我想这是自动生成的文件中的相关部分(我在Xamarin论坛认识你,呵呵):好吧,这真的很奇怪,但我制作了另一个xml文件并将其放在xml文件夹中(与以前完全相同的内容)。我将其命名为config.xml而不是ServiceConfig,然后在使用新的配置时,它就工作了。但仍然无法使用旧的文件。能否检查编译时生成的AndroidManifest.xml文件?它应该在obj/Debug/Android或者类似的地方。这可能是因为它缺少了一些东西。我想这是自动生成的文件中的相关部分(我在Xamarin论坛认识你,呵呵):好吧,这真的很奇怪,但我制作了另一个xml文件并将其放在xml文件夹中(与以前完全相同的内容)。我将其命名为config.xml而不是ServiceConfig,然后在使用新的配置时,它就工作了。但旧版本仍然无法使用。谢谢分享。别忘了接受答案。@WendyZang MSFT我会的,但我必须等11个小时谢谢分享。别忘了接受答案。@WendyZang MSFT我会的,但我得等11个小时