How to start AccessibilityService?

后端 未结 2 1657
野趣味
野趣味 2020-12-08 22:51

I\'m trying to start my implementation of AccessibilityService by using

Intent mailAccessabilityIntent = new Intent(this, EmailAccessabilityService.class);
s         


        
相关标签:
2条回答
  • 2020-12-08 23:19

    Because accessibility services are able to explore and interact with on-screen content, a user has to explicitly enable services in Settings > Accessibility. Once a service is enabled, the system will start it automatically and bind it to the accessibility APIs.

    Make sure you declare your service in your application manifest:

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

    You'll also need to provide configuration for your service, either by overriding setServiceInfo(AccessibilityServiceInfo) or adding a meta-data attribute and XML config file.

    The meta-data attribute goes in your <service> declaration after the <intent-filter> tag and looks like this:

    <meta-data android:name="android.accessibilityservice"
               android:resource="@xml/accessibilityservice" />
    

    The XML config that you're referencing (in this case, accessibilityservice.xml) looks like this:

    <accessibility-service
        android:accessibilityEventTypes="typeViewClicked|typeViewFocused"
        android:packageNames="foo.bar, foo.baz"
        android:accessibilityFeedbackType="feedbackSpoken"
        android:notificationTimeout="100"
        android:accessibilityFlags="flagDefault"
        android:settingsActivity="foo.bar.TestBackActivity"
        android:canRetrieveWindowContent="true"
        . . .
    />
    

    There's more information on which tags you can use at http://developer.android.com/reference/android/R.styleable.html#AccessibilityService

    0 讨论(0)
  • 2020-12-08 23:21

    I've just done this today. Once your service is created and is correctly listed in the manifest file with the accessibility intent filter. Then yours service will appear under settings-accessibility-services. You start it by clicking on it then toggling it on. I don't know how to start it via intents yet if its even possible. I think its Lee GPS you can only navigate users to start button.

    0 讨论(0)
提交回复
热议问题