The fix is:
if (parameters.get(key) instanceof byte[]) {
instead of
if (parameters.getByteArray(key) != null) {
on line 63 of Util.java.
And
if (params.get(key) instanceof byte[]) {
instead of
if (params.getByteArray(key) != null) {
on line 155 of Util.java.
For some strange reason, on Samsung Nexus S (perhaps other devices too) it returns a String, not a byte[].