2016-02-29 71 views
0

我想開發一個跟蹤庫(tracking.jar)。這個jar應該跟蹤Android應用中被點擊的控件的路徑。當我們點擊一​​個按鈕時,這個jar應該記錄按鈕的UI路徑。在Android上跟蹤點擊控件的路徑APP

例如,給出以下界面:

<RelativeLayout> 
    <TextView></TextView> 
    <LinearLayout> 
     <Button></Button> 
    </LinearLayout> 
</RelativeLayout> 
  • 當我們點擊按鈕,就應該記錄RelativeLayout/LinearLayout/Button;
  • 當我們點擊TextView時,它應該記錄RelativeLayout/TextView

回答

0

我有一個解決方案,但並不完美。 AccessibilityService可以跟蹤點擊,但您需要手動打開輔助功能服務。 http://developer.android.com/reference/android/accessibilityservice/AccessibilityService.html

public class SampleAccessibilityService extends AccessibilityService { 

public String getParentView(AccessibilityNodeInfo node){ 
    return node != null ? node.getClassName() + "/" + getParentView(node.getParent()) : ""; 
} 

@Override 
public void onAccessibilityEvent(AccessibilityEvent accessibilityEvent) { 
    Log.e(tag,"click path is:" + getParentView(accessibilityEvent.getSource())); 
    } 
}