Android 是否可以卸载/检查后烟囱?

Android 是否可以卸载/检查后烟囱?,android,android-activity,back-stack,Android,Android Activity,Back Stack,出于调试目的,我希望能够将活动记录在后堆栈中,但我没有看到任何API可以这样做,也没有看到搜索时提到的API。有办法吗?事实上,我也非常赞同这个问题。不幸的是没有,让我们想想为什么 Java进入我们的手中: 1)-与DI(反射方式)类似的方式 2)用于登录后台的父类。 public class MainActivity extends LogActivity //for ex 3)使用Thread.currentThread().getStackTrace()但您应该检查当前停留的位置、您现在

出于调试目的,我希望能够将活动记录在后堆栈中,但我没有看到任何API可以这样做,也没有看到搜索时提到的API。有办法吗?

事实上,我也非常赞同这个问题。不幸的是没有,让我们想想为什么

Java进入我们的手中:

1)-与DI(反射方式)类似的方式
2)用于登录后台的父类。

public class MainActivity extends LogActivity //for ex
3)使用
Thread.currentThread().getStackTrace()
但您应该检查当前停留的位置、您现在检查的线程以及其他日常工作


参考链接,以及。事实上,我也非常赞同这个问题。不幸的是没有,让我们想想为什么

Java进入我们的手中:

1)-与DI(反射方式)类似的方式
2)用于登录后台的父类。

public class MainActivity extends LogActivity //for ex
3)使用
Thread.currentThread().getStackTrace()
但您应该检查当前停留的位置、您现在检查的线程以及其他日常工作


引用链接,并将此代码放到MainActivity的onCreate中

getSupportFragmentManager().addOnBackStackChangedListener(
            new FragmentManager.OnBackStackChangedListener() {
                public void onBackStackChanged() {
                    for (int i = 0; i < getSupportFragmentManager().getBackStackEntryCount(); i++)
                        System.out.println(getSupportFragmentManager().getBackStackEntryAt(i).getName());
                }
            });

您可以在logcat中看到输出。

将此代码放入MainActivity的onCreate中

getSupportFragmentManager().addOnBackStackChangedListener(
            new FragmentManager.OnBackStackChangedListener() {
                public void onBackStackChanged() {
                    for (int i = 0; i < getSupportFragmentManager().getBackStackEntryCount(); i++)
                        System.out.println(getSupportFragmentManager().getBackStackEntryAt(i).getName());
                }
            });

您可以在logcat中看到输出。

您可以使用以下命令
adb外壳转储系统活动
它将打印很多内容,包括开始时的后堆栈:

Running activities (most recent first):
  TaskRecord{45168b4 #2194 A=com.example.myapp U=0 StackId=22 sz=3}
    Run #2: ActivityRecord{a05a1af u0 com.example.myapp/com.example.myapp.activity.MyActivity t2194}
    Run #1: ActivityRecord{5c017cd u0 com.example.myapp/com.example.myapp.activity.MySecondActivity t2194}
    Run #0: ActivityRecord{6fe38b2 u0 com.example.myapp/com.example.myapp.activity.MyThirdActivity t2194}

另一种解决方案是首先键入
adb shell
,然后按enter键,然后按
dumpsys activity | grep-i run
。这将只显示后堆栈,不显示其他内容,但它需要两个命令。

您可以使用以下命令
adb外壳转储系统活动
它将打印很多内容,包括开始时的后堆栈:

Running activities (most recent first):
  TaskRecord{45168b4 #2194 A=com.example.myapp U=0 StackId=22 sz=3}
    Run #2: ActivityRecord{a05a1af u0 com.example.myapp/com.example.myapp.activity.MyActivity t2194}
    Run #1: ActivityRecord{5c017cd u0 com.example.myapp/com.example.myapp.activity.MySecondActivity t2194}
    Run #0: ActivityRecord{6fe38b2 u0 com.example.myapp/com.example.myapp.activity.MyThirdActivity t2194}

另一种解决方案是首先键入
adb shell
,然后按enter键,然后按
dumpsys activity | grep-i run
。这将只显示后台堆栈,不显示其他内容,但它需要两个命令。

检查这里:我不想使用adb以交互方式执行,我想以编程方式执行。检查这里:我不想使用adb以交互方式执行,我想以编程方式执行。