If the header of all the files contains zeroes, as in your example, then there is no picture to recover or display.
The card is most likely formatted as FAT32. On file deletion the file system sets the first two bytes of the file's address to zero, giving a false address to any file with a starting cluster address above 65,000 (I can't remember the exact number). That is, with a 4k cluster size, around 250 mb, so just about everything. In your example the cluster start address is 15,883, which is within the 65,000 and is possibly a 'chopped' address now pointing to free space.
There is no way to reinstate the deleted bytes of the addresses. A deep scan might find some of your pics, if they are not fragmented. It's worth a try.
What I don’t understand completely is how some cheap android apps manages to find almost all the files I deleted, and I could recover many of them, but I don’t because almost all of them recovered in low resolution.
I've really no idea. Your one file shown had zeroes in the header, so nothing can be recovered from that, in practical terms. Of course my theory might be nonsense, but unless someone more androidish comes up with another it's all I, or we, have.