diff --git a/Kill.apk b/Kill.apk index b92fef5..c5590fc 100644 Binary files a/Kill.apk and b/Kill.apk differ diff --git a/sample/src/main/java/com/xdandroid/sample/misc/KillActivity.java b/sample/src/main/java/com/xdandroid/sample/misc/KillActivity.java index 50506bd..7984819 100644 --- a/sample/src/main/java/com/xdandroid/sample/misc/KillActivity.java +++ b/sample/src/main/java/com/xdandroid/sample/misc/KillActivity.java @@ -18,13 +18,15 @@ protected void onCreate(Bundle savedInstanceState) { if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) return; new Thread(() -> { try { - ActivityManager am = getSystemService(ActivityManager.class); + String thisApp = getPackageName(); Method m = ActivityManager.class.getMethod("forceStopPackage", String.class); + ActivityManager am = getSystemService(ActivityManager.class); getPackageManager().getInstalledPackages(0) .stream() .filter(i -> (i.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) .filter(i -> (i.applicationInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) == 0) .map(i -> i.packageName) + .filter(n -> !thisApp.equals(n)) .forEach(n -> { try { m.invoke(am, n); } catch (Exception e) { e.printStackTrace(); } });