Служба специальных возможностей не указана в службах?

Ну, я пытаюсь реализовать одну из этих служб, я использую код отсюда: http://developer.android.com/training/accessibility/service.html#create, но я не могу включить эту службу, так как не вижу ее в системных настройках. Может ли кто-нибудь помочь мне?

Манифест:

<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);

}
}

person Rotary Heart    schedule 04.08.2013    source источник


Ответы (2)


Что ж, я оставил некоторые важные вещи в AndroidManifest.xml, так что теперь все работает отлично. Вот новый манифест

    <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>
person Rotary Heart    schedule 17.08.2013
comment
class=".NotificationService" это его класс - person Rotary Heart; 28.12.2014
comment
Можете ли вы обновить свой пост, добавив реализацию класса NotificationService, используя код, но не получая ответа при получении уведомления от приложения Whats? - person Erum; 29.12.2014
comment
Это то же самое, что опубликовано как MyAccessibilityService, я просто изменил имя. - person Rotary Heart; 30.12.2014

Мне потребовалось 2 часа, чтобы понять, что у меня была опечатка в теге <accessibility-service /> в моем файле .xml.

Я написал <accessability-service /> вместо <accessibility-service />.

Если вы похожи на меня, добро пожаловать (и скопируйте все).

person Jaideep Heer    schedule 16.03.2020