The lies in pm suspend . Unlike disable, pm suspend --user 0 <package> freezes the app in its current state. The system sees it as active; the kernel refuses to schedule it. For MDM or parental control, this is superior—no “app is disabled” toast, no crash loops. The app simply ceases to respond to intents.
If you want extended ADB app control without typing commands, these tools wrap ADB with a UI: adb app control extended key best