2012-03-02 1 views
1

Простой вопрос ... вполне возможно, не простые ответы :)AccessibilityService в Monodroid

Я хочу написать службу доступности для андроида в monodroid. Мне сложно разобрать штуки. Я могу наследовать от AccessibilityService, но нет AccessibilityServiceAttribute. Мне нужен конкретный контент в файле манифеста, но, видимо, фильтр намерений и xml-интерфейс службы напрямую не поддерживаются monodroid ... Я считаю.

Я сомневаюсь, что это то, что многие люди сделали, но, как новичок в Monodroid, я думаю, что мне в основном просто сложно собрать хорошо поддерживаемую «нормальную» разработку приложений с «поддержкой», но не совсем, развитие службы доступности.

Буду признателен за любые указатели. Спасибо, парни.

ответ

1

Согласно docs:

доступность объявлена ​​как и любой другой услуги в качестве AndroidManifest.xml, но он должен также указать, что он обрабатывает «android.accessibilityservice.AccessibilityService» Intent. Невозможность объявить это намерение приведет к тому, что система игнорирует службу доступности.

Поскольку она объявлена ​​так же, как и любой другой сервис, вы можете использовать ServiceAttribute и IntentFilterAttribute для создания записи в AndroidManifest.xml. Например:

[Service] 
[IntentFilter(new[] { "android.accessibilityservice.AccessibilityService" })] 
public class MyAccessibilityService : AccessibilityService 
{ 
    public override void OnAccessibilityEvent(AccessibilityEvent e) 
    { 

    } 

    public override void OnInterrupt() 
    { 
    } 
} 

При создании приложения Mono для Android будет генерировать это в манифесте:

<service android:name="sample.MyAccessibilityService"> 
    <intent-filter> 
    <action android:name="android.accessibilityservice.AccessibilityService" /> 
    </intent-filter> 
</service>