Android。从 adb 开始片段

Android. Start fragment from adb

我想通过 adb shell 运行 一个片段。这样做

adb shell am start -n com.example.myapplication/com.example.myapplication.MainActivity -e":android:show_fragment" com.example.myapplication.BlankFragment2

结果

Starting: Intent { cmp=com.example.myapplication/.MainActivity (has extras) }

但只有 activity 打开而没有片段。我做错了什么?

如果不使用 adb 进行编码,您将无法打开 Fragment。亚行与系统一起工作。 Activity 是系统的一部分,但不是 Fragment。

要在 onCreate 方法的 Activity 中从 ADB 打开 Fragment,您需要检查 Extra:

    val showFragment = intent.getStringExtra("show_fragment")
    if (showFragment != null) {
        if (showFragment == "StreamListFragment") {
            supportFragmentManager.beginTransaction()
                .replace(R.id.container, StreamListFragment())
                .commit()
        }
    }

R.id.container - 查看容器,您的片段将放置于此。

之后就可以使用adb了。

adb shell am start -n com.example.myapplication/com.example.myapplication.MainActivity --es "show_fragment" "StreamListFragment"