diff --git a/src/main/java/org/cloud/sonic/agent/bridge/android/AndroidDeviceBridgeTool.java b/src/main/java/org/cloud/sonic/agent/bridge/android/AndroidDeviceBridgeTool.java index 6244a328..5014cac6 100755 --- a/src/main/java/org/cloud/sonic/agent/bridge/android/AndroidDeviceBridgeTool.java +++ b/src/main/java/org/cloud/sonic/agent/bridge/android/AndroidDeviceBridgeTool.java @@ -579,9 +579,13 @@ public static String getCurrentActivity(IDevice iDevice) { String.format("dumpsys window %s", api >= 29 ? "displays" : "windows")); String result = ""; try { - String start = cmd.substring(cmd.indexOf("mCurrentFocus=")); - String end = start.substring(start.indexOf("/") + 1); - result = end.substring(0, end.indexOf("}")); + Pattern pattern = Pattern.compile("mCurrentFocus=(?!null)[^,]+"); + Matcher matcher = pattern.matcher(cmd); + if (matcher.find()) { + String start = cmd.substring(matcher.start()); + String end = start.substring(start.indexOf("/") + 1); + result = end.substring(0, end.indexOf("}")); + } } catch (Exception ignored) { } if (result.length() == 0) {