It's possible to disable the heads-up notifications with adb
, without root, using one of the two options below. Sadly, on some of the most recent LG or Samsung phones, this setting is saved only in RAM, hence it only works until the next reboot.
Preliminary steps (required for both options)
On your phone:
- Disable "Disable alerts during game" feature (see this issue for details)
- Under Android Settings/Developer Options, enable USB Debugging;
- Under Android Settings/Developer Options/Select USB Configuration, enable PTP (Picture Transfer Protocol);
- Plug your phone to your computer.
On your computer:
- Install Android Debug Bridge (adb);
- Install the Universal ADB Drivers;
- Run
adb devices
;
- Verify your phone is listed under
List of devices attached
On your phone:
- press OK on Allow USB Debugging?
Option 1
On your computer:
- Run
./adb shell settings put global heads_up_notifications_enabled 0
Option 2
On your phone:
- Install SystemUI Tuner
- Follow the instructions and run the required adb commands
- Edit Quick Settings:

- Add the Heads-up Notifications Toggle to quick settings:

- Tap on the toggle to disable the heads-up notifications:

As mentioned above, both options work only until the next reboot on some phones which save this settings in RAM, so option 2 is more convenient because it allows to easily re-disable the heads-up notifications after reboot using the quick settings toggle.
Android 9 and above
It is possible to disable them from:
- Settings > Custom restrictions > Don't pop notifications on screen (source)
If that still doesn't work try disabling and enabling:
- Apps & notifications > Special app access > Adaptive Notifications (source)
Samsung Galaxy S21
Unfortunately none of the options mentioned above work for this phone: if you know a way to disable them without root please add a comment to this answer or an answer to the original question.