2012-05-12 17 views
7

Zajmuję się tworzeniem aplikacji dla systemu Android z usługą, która rozszerza AccessibilityService. Chciałbym móc przetestować to bez kpienia z ram dostępności.Testowanie usługi ułatwień dostępu na Androida?

Czy ktoś ma jakieś zalecenia dotyczące najlepszego sposobu, aby o tym poradzić?

Chciałbym skonfigurować różne czynności, przechodzić między nimi i sprawdzać, czy moja usługa dostępności odpowiada poprawnie. Próbowałem użyć ServiceTestCase, ale niestety wymaga to samodzielnego skonfigurowania usługi. Nie jestem pewien, jak skonfigurować go w sposób podobny do tego, w jaki sposób ramka dostępności ustawi go dla mnie.

Odpowiedz

1

podstawie:

utworzyć usługę rozciągający AccessibilityService:

public class TestService extends AccessibilityService { 

    @Override 
    public void onAccessibilityEvent(AccessibilityEvent evt) { 
    //Your coding here 
    } 

} 

W swoim pliku manifestu:

<service android:name=".TestService" android:enabled="true" > 
    <intent-filter> 
     <action android:name="android.accessibilityservice.AccessibilityService" /> 
    </intent-filter> 
    <meta-data android:name="android.accessibilityservice" android:resource="@xml/accessibilityservice" /> 
</service> 

W swoich zasobach (folder xml), tworzyć accessibilityservice.xml:

<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android" 
         android:accessibilityEventTypes="typeNotificationStateChanged" 
         android:accessibilityFeedbackType="feedbackAllMask" 
         android:notificationTimeout="100" /> 
+0

widzę, że ostatni akapit kopiowania/wklejania całego, i chcę wyjaśnić dla przyszłych czytelników, że 'android: accessibilityEventTypes = "typeNotificationStateChanged" 'będzie musiało zostać zmienione na rodzaje zdarzeń, które chcesz otrzymywać. Jeśli chcesz wszystkie zdarzenia, użyj 'typeAllMask'. – kurtzbot