2012-12-13 39 views
3

我的代碼適用於Android版本高於4的Android 2.2或2.3版本,我無法檢測到任何事件。 Android日誌顯示服務正在運行,但是每當我觸發事件時,其無法識別的輔助服務。 在下面的代碼:輔助功能Android 2.3(GB)中的輔助功能服務無法識別的事件

public void onAccessibilityEvent(AccessibilityEvent event) 
{  
    Log.i("abc","------service running---------"); 

    final int eventType = event.getEventType(); 

    switch(eventType) 
    { 
     case AccessibilityEvent.TYPE_VIEW_CLICKED : 
       //do something 
       break; 
     } 
} 

我不能夠得到Log "------service running---------"也。 我錯過了什麼。是否需要對不同版本的android上運行相同的代碼進行任何更改。

回答

0

您需要通過在onServiceConnected()中設置服務的AccessibilityServiceInfo來手動指定服務的事件和反饋類型。

這裏是從話語提示的例子:

@Override 
public void onServiceConnected() { 
    AccessibilityServiceInfo info = new AccessibilityServiceInfo(); 
    info.eventTypes = AccessibilityEvent.TYPES_ALL_MASK; 
    info.feedbackType = AccessibilityServiceInfo.FEEDBACK_SPOKEN; 
    info.notificationTimeout = 0; 
    info.flags = AccessibilityServiceInfo.DEFAULT; 
    setServiceInfo(info); 
}