2012-03-02 1 views
1

question simple ... tout à fait peut-être pas de simples réponses :)AccessibilityService dans MonoDroid

Je veux écrire un service d'accessibilité pour android dans MonoDroid. Je trouve difficile de travailler sur les morceaux. Je peux hériter de AccessibilityService, mais il n'y a pas un AccessibilityServiceAttribute. J'ai besoin de contenu spécifique dans le fichier manifeste, mais apparemment le filtre d'intention et le service xml ne sont pas directement supportés par monodroid ... je crois. Je doute que c'est quelque chose que beaucoup de gens ont fait, mais en tant que débutant avec Monodroid, je pense que je suis principalement juste de trouver difficile de mettre en place le développement de l'application "normale" bien supporté, avec le "supporté" mais pas tout à fait, le développement du service d'accessibilité.

J'apprécierais n'importe quel pointeur. Merci les gars.

Répondre

1

Selon le docs:

Une accessibilité est déclarée comme tout autre service dans un AndroidManifest.xml mais il doit également préciser qu'il gère l'intention « android.accessibilityservice.AccessibilityService ». Si vous ne déclarez pas cette intention, le système ignore le service d'accessibilité.

Comme il est déclaré la même manière que tout autre service, vous pouvez utiliser ServiceAttribute et IntentFilterAttribute pour générer l'entrée dans AndroidManifest.xml. Par exemple:

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

    } 

    public override void OnInterrupt() 
    { 
    } 
} 

Lorsque vous construisez l'application, Mono pour Android va générer ce dans le manifeste:

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