2012-02-06 15 views
2

私のアプリケーションでは、新しい着信電子メール通知を受け取り、イベントを説明する画面でビデオを再生する必要があります。 私はonAccessibilityEvent(AccessibilityEvent event)を使用して、生成された通知を聞いています。 私もAccessibilityServiceのinitのために、次のコードを使用します。onAccessibilityEvent(AccessibilityEventイベント)通知を傍受しない

AccessibilityServiceInfo localAccessibilityServiceInfo = new AccessibilityServiceInfo(); 
    localAccessibilityServiceInfo.eventTypes = AccessibilityEvent.TYPES_ALL_MASK; // AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED; 
    localAccessibilityServiceInfo.notificationTimeout = EVENT_NOTIFICATION_TIMEOUT_MILLIS; 
    localAccessibilityServiceInfo.feedbackType = AccessibilityServiceInfo.FEEDBACK_AUDIBLE; // AccessibilityServiceInfo.FEEDBACK_VISUAL; 
    localAccessibilityServiceInfo.flags &= AccessibilityServiceInfo.DEFAULT; 
    setServiceInfo(localAccessibilityServiceInfo); 

が、イベントが到着したことはありません。 どのように解決できますか?ありがとう、 Eyal。

答えて

2

私はこれが私のアプリケーションで動作しますが、似たような状況があります。

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

public class NotificationAccessibilityService 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); 

    } 
} 

そして、私のマニフェストで: Accessibility Service from StackOverflow

:私の解決策の

<service android:name=".accessibility.NotificationAccessibilityService" android:label="@string/app_name" android:enabled="true" android:exported="false"> 
     <intent-filter> 
      <action android:name="android.accessibilityservice.AccessibilityService" /> 
     </intent-filter> 

</service> 

部品から来ました

関連する問題