Android获取当前活动窗口的文本

1. 流程

通过以下步骤可以获取当前活动窗口的文本:

步骤 操作
1 获取当前活动窗口的根视图
2 从根视图中遍历查找包含文本的视图
3 获取文本内容

2. 代码实现

1. 获取当前活动窗口的根视图

// 获取当前活动窗口的根视图
View rootView = getWindow().getDecorView().getRootView();

2. 遍历查找包含文本的视图

// 遍历查找包含文本的视图
String text = findText(rootView);
private String findText(View view) {
    if (view instanceof ViewGroup) {
        ViewGroup vg = (ViewGroup) view;
        for (int i = 0; i < vg.getChildCount(); i++) {
            View child = vg.getChildAt(i);
            String text = findText(child);
            if (text != null) {
                return text;
            }
        }
    } else if (view instanceof TextView) {
        return ((TextView) view).getText().toString();
    }
    return null;
}

3. 获取文本内容

// 获取文本内容
String currentText = text;

3. 类图

classDiagram
    class Activity {
        + getWindow()
    }
    class View {
        + getDecorView()
    }
    class ViewGroup {
        + getChildCount()
        + getChildAt()
    }
    class TextView {
        + getText()
    }
    Activity <|-- ViewGroup
    ViewGroup <|-- TextView

4. 状态图

stateDiagram
    [*] --> 获取当前活动窗口的根视图
    获取当前活动窗口的根视图 --> 遍历查找包含文本的视图
    遍历查找包含文本的视图 --> 获取文本内容

通过以上步骤,你可以成功获取当前活动窗口的文本。希望这篇文章对你有所帮助,如果有任何问题,欢迎随时向我提问。祝你学习顺利!