1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- package me.yoqi.app.lizihelper;
- import android.accessibilityservice.AccessibilityService;
- import android.text.TextUtils;
- import android.util.Log;
- import android.view.accessibility.AccessibilityEvent;
- import android.view.accessibility.AccessibilityNodeInfo;
- import android.widget.Toast;
- public class AutoClickService extends AccessibilityService {
- private static final String TAG = "GK";
- @Override
- public void onAccessibilityEvent(AccessibilityEvent event) {
- ztLog("===start search===");
- try {
- AccessibilityNodeInfo rootInfo = getRootInActiveWindow();
- if (rootInfo != null) {
- DFS(rootInfo);
- }
- } catch (Exception e) {
- ztLog("Exception:" + e.getMessage(), true);
- }
- }
- @Override
- public void onInterrupt() {
- }
- private void DFS(AccessibilityNodeInfo rootInfo) {
- if (rootInfo == null || TextUtils.isEmpty(rootInfo.getClassName())) {
- return;
- }
- if (!"android.widget.GridView".equals(rootInfo.getClassName())) {
- ztLog(rootInfo.getClassName().toString());
- for (int i = 0; i < rootInfo.getChildCount(); i++) {
- DFS(rootInfo.getChild(i));
- }
- } else {
- ztLog("==find gridView==");
- final AccessibilityNodeInfo GridViewInfo = rootInfo;
- for (int i = 0; i < GridViewInfo.getChildCount(); i++) {
- final AccessibilityNodeInfo frameLayoutInfo = GridViewInfo.getChild(i);
- final AccessibilityNodeInfo childInfo = frameLayoutInfo.getChild(0);
- String text = childInfo.getText().toString();
- if (text.equals("专栏")) {
- performClick(frameLayoutInfo);
- } else {
- ztLog(text);
- }
- }
- }
- }
- private void performClick(AccessibilityNodeInfo targetInfo) {
- targetInfo.performAction(AccessibilityNodeInfo.ACTION_CLICK);
- }
- private void ztLog(String str) {
- ztLog(str, false);
- }
- private void ztLog(String str, boolean showToast) {
- Log.i(TAG, str);
- if (showToast) {
- Toast.makeText(this, str, Toast.LENGTH_LONG).show();
- }
- }
- }
|