Question

Well I'm trying to implement one of this services, I'm using the code from here: http://developer.android.com/training/accessibility/service.html#create but I can't enable the service since I don't see it in system settings. Could anyone help me out?

Manifest:

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

MyAccessibilityService.java

import android.accessibilityservice.AccessibilityService;
import android.accessibilityservice.AccessibilityServiceInfo;
import android.util.Log;
import android.view.accessibility.AccessibilityEvent;
import android.widget.Toast;

public class MyAccessibilityService extends AccessibilityService
{
public static final String TAG = "volumeMaster";

@Override
public void onAccessibilityEvent(AccessibilityEvent event)
{
    Log.v(TAG, "***** onAccessibilityEvent");
    Toast.makeText(getApplicationContext(), "Got event from: " + event.getPackageName(), Toast.LENGTH_LONG).show();
}

@Override
public void onInterrupt()
{
    Log.v(TAG, "***** onInterrupt");
}

@Override
public void onServiceConnected()
{
    Log.v(TAG, "***** onServiceConnected");

    AccessibilityServiceInfo info = new AccessibilityServiceInfo();
    info.eventTypes = AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED;
    info.notificationTimeout = 100;
    info.feedbackType = AccessibilityEvent.TYPES_ALL_MASK;
    setServiceInfo(info);

}
}
Was it helpful?

Solution

Well I left some important things in the AndroidManifest.xml, so now its working perfectly. Here's the new manifest

    <service
        android:name=".NotificationService"
        android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE"
        class=".NotificationService"
        android:enabled="true"
        android:exported="false" >
        <intent-filter>
            <action
                android:name=".NotificationService"
                android:value=".NotificationService" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.accessibilityservice.AccessibilityService" />
        </intent-filter>

    </service>

OTHER TIPS

It took me 2hrs to realize that I had a typo in the <accessibility-service /> tag in my .xml file.

I had written <accessability-service /> instead of <accessibility-service />.

If you are like me, you're welcome(and copy-past everything).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top