The question is asked in more detail here:
Basically I'm getting a corrupt file every time I run this code, but only on Samsung Galaxy SII. Nobody has found anything wrong with my code
I guess I'm trying to get some ideas from the other end, the users of the phone, rather than programmers (or both).