diff --git a/core/src/main/java/io/github/lsposed/lspd/service/LSPosedService.java b/core/src/main/java/io/github/lsposed/lspd/service/LSPosedService.java index 10d186b2..af42633f 100644 --- a/core/src/main/java/io/github/lsposed/lspd/service/LSPosedService.java +++ b/core/src/main/java/io/github/lsposed/lspd/service/LSPosedService.java @@ -69,11 +69,10 @@ public class LSPosedService extends ILSPosedService.Stub { Log.e(TAG, "Package name is null"); return; } - Log.d(TAG, "New installed: " + packageName); + Log.d(TAG, "Package changed: " + packageName); int uid = intent.getIntExtra(Intent.EXTRA_UID, -1); int userId = intent.getIntExtra(Intent.EXTRA_USER, -1); - boolean replacing = intent.getBooleanExtra(Intent.EXTRA_REPLACING, false); - if (intent.getAction().equals(Intent.ACTION_PACKAGE_REMOVED) && uid > 0 && !replacing) { + if (intent.getAction().equals(Intent.ACTION_PACKAGE_FULLY_REMOVED) && uid > 0) { if (userId == 0 || userId == -1) { ConfigManager.getInstance().removeModule(packageName); } diff --git a/core/src/main/java/io/github/lsposed/lspd/service/PackageReceiver.java b/core/src/main/java/io/github/lsposed/lspd/service/PackageReceiver.java index d11987dc..72161678 100644 --- a/core/src/main/java/io/github/lsposed/lspd/service/PackageReceiver.java +++ b/core/src/main/java/io/github/lsposed/lspd/service/PackageReceiver.java @@ -61,7 +61,7 @@ public class PackageReceiver { IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(Intent.ACTION_PACKAGE_ADDED); intentFilter.addAction(Intent.ACTION_PACKAGE_CHANGED); - intentFilter.addAction(Intent.ACTION_PACKAGE_REMOVED); + intentFilter.addAction(Intent.ACTION_PACKAGE_FULLY_REMOVED); intentFilter.addDataScheme("package"); HandlerThread thread = new HandlerThread("lspd-PackageReceiver");