From 3bcb2867b7b195a1a5cfb8ee417f9fa8c1aa60f4 Mon Sep 17 00:00:00 2001 From: LoveSy Date: Thu, 10 Feb 2022 00:30:34 +0800 Subject: [PATCH] Use am from service manager (#1656) --- .../java/org/lsposed/lspd/service/ActivityController.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/org/lsposed/lspd/service/ActivityController.java b/core/src/main/java/org/lsposed/lspd/service/ActivityController.java index c0ea186a..547aea57 100644 --- a/core/src/main/java/org/lsposed/lspd/service/ActivityController.java +++ b/core/src/main/java/org/lsposed/lspd/service/ActivityController.java @@ -13,6 +13,7 @@ import android.os.Bundle; import android.os.IBinder; import android.os.Parcel; import android.os.ResultReceiver; +import android.os.ServiceManager; import android.os.ShellCallback; import android.os.ShellCommand; import android.util.Log; @@ -101,7 +102,7 @@ public class ActivityController extends IActivityController.Stub { } } - return replaceMyControllerActivity(am, pw, getRawInputStream(), gdbPort, monkey); + return replaceMyControllerActivity(pw, getRawInputStream(), gdbPort, monkey); } @Override @@ -140,7 +141,7 @@ public class ActivityController extends IActivityController.Stub { return false; } - static private int replaceMyControllerActivity(IBinder am, PrintWriter pw, InputStream stream, String gdbPort, boolean monkey) { + static private int replaceMyControllerActivity(PrintWriter pw, InputStream stream, String gdbPort, boolean monkey) { try { InvocationHandler handler = (proxy, method, args1) -> { if (method.getName().equals("setActivityController")) { @@ -150,7 +151,7 @@ public class ActivityController extends IActivityController.Stub { Log.e(TAG, "replace activity controller", e); } } - return method.invoke(am, args1); + return method.invoke(ServiceManager.getService("activity"), args1); }; var amProxy = Proxy.newProxyInstance(BridgeService.class.getClassLoader(), new Class[]{myActivityControllerConstructor.getParameterTypes()[0]}, handler);