I'm wondering how Snapchat detects if a screenshot is taken and how to disable/spoof the method. If using a screen recording (video) app, Snapchat can't detect it.
So basically, when you are putting something in the file system (like when you are taking a screenshot) you have to broadcast
ACTION_MEDIA_SCANNER_SCAN_FILE so that other applications are aware of it (otherwise android photo gallery can not display your screenshot). So Snapchat has to wait for that broadcast and when it receives the broadcast it just has to check if you are watching a snap and if it is the case they know that you just took a screenshot.
That's probably how they do it.
Here is my hack to get notified when a screenshot is taken. Checkout my answer
I don't know how it detects it, but disable the detection, you'd have to either download a third-party client (which I highly recommend NOT DOING, especially not after the "Snapsave" clients-servers were breached and over 200k nudes went online).
Option #2 (requires root): 1. Install xposed framework 2. Install the keepchat module 3. Enjoy