最近、アプリケーションを逆コンパイルすると、いくつかのアプリケーションのマニフェストが、自分が望むビューのアクティビティを指定していないように見えます。 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
が、私はアプリの各アクティビティのためにすべてのフラグメントの名前を見つける方法がわからないと思います。
フラグメントもマニフェストにリストされています。断片の名前を知っていても、あまり役に立たないでしょう。ほとんどの場合、 'am'コマンドでサポートされていないタイプのエクストラが正しく表示される必要があります。 –
Alex Pさん、ありがとうございました。実際に私がここで提示したのと同じ質問をしていることを発見しました:https://stackoverflow.com/questions/18522733/how-to-get-extras-of-currently-running-activity-through-adb – itsthegrimace
具体的には、logcatは次のように出力します:I/ActivityManager(530):ディスプレイ0にuid 10083からSTART u0 {cmp = com.example.app/.MainSubMenu(extras)}}エクストラの情報を持っています。 – itsthegrimace