前言
开发时需要查看当前打开(前台)的 Activity,尤其适用于调试、排查 UI 问题或分析页面跳转逻辑。
Activity
ADB获取
1
| adb shell dumpsys activity top | findstr "ACTIVITY"
|
打印日志获取
基类中打印日志
Kotlin
1 2 3 4 5 6 7
| override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) Log.d("CurrentActivity", "onCreate: ${this::class.simpleName}") }
|
Java
1 2 3 4 5 6 7 8
| @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d("CurrentActivity", "onCreate: " + this.getClass().getSimpleName()); }
|
Compose路由
查看路由模板
1 2 3 4 5 6 7 8 9 10 11 12
| val navController = rememberNavController()
DisposableEffect(Unit) { val listener = NavController.OnDestinationChangedListener { _, destination, _ -> Log.d("Navigation", "当前路由: ${destination.route}") } navController.addOnDestinationChangedListener(listener) onDispose { navController.removeOnDestinationChangedListener(listener) } }
|
查看路由带参数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| DisposableEffect(Unit) { val listener = NavController.OnDestinationChangedListener { _, destination, backStackEntry -> var routeStr = destination.route ?: "未知路由" val arguments = destination.arguments val keys = arguments.keys if (keys.isNotEmpty()) { keys.forEach { val value = backStackEntry?.get(it) if (value != null) { routeStr = routeStr.replace("{$it}", value.toString()) }
} } Log.d("Navigation", "当前路由: $routeStr") } navController.addOnDestinationChangedListener(listener) onDispose { navController.removeOnDestinationChangedListener(listener) } }
|