最近在反编译应用程序时,我发现一些应用程序的清单似乎没有为我想要的视图指定活动。例如,如果 com.example.app 在我想要的视图上,我运行以下命令:
dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'
结果输出将类似于:
mCurrentFocus=Window{9280f2a u0 com.example.app/com.example.app.MainSubMenu}
mFocusedApp=AppWindowToken{da37759 token=Token{9d56fa0 ActivityRecord{5c490a3 u0 com.example.app/.MainSubMenu t98}}}
这很好,但是当我所在的屏幕显然是子活动/子视图/片段时,dumpsys 或 logcat 将向我显示此视图的完整路径。简而言之,我想找到片段/视图的名称并直接启动它。这种语法看起来很有希望实现片段视图启动(可能有一些变化):
am start -n com.example.app/.MainSubMenu -e :android:show_fragment com.example.app.somefragmentview
但我不确定如何找到应用程序每个活动的所有片段名称。