2013-08-04 2 views
1

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

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

} 
} 

ответ

4

Ну, я оставил несколько важных вещей в 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> 
+0

Что такое NotificationService ???? – Erum

+0

'class =". NotificationService "' его класс этого –

+0

может обновить ваше сообщение, добавив приведение NotificationService имплантирования im, используя код, но не получая ответа на получение уведомления от приложения – Erum

1

согласно Accessibility Service Declaration Guide, вы должны также добавить строку

<uses-permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE" /> 

для Android 4.1+ устройств.

+0

Добавил эту строку, и она все еще не отображается. –

+0

Я заметил, что в декларации примера также есть «android: label» - вы тоже попытались добавить это? – ianhanniballake

+0

Да, я так и не показал. –

Смежные вопросы