See http://stackoverflow.com/questions/22706625/unsupportedcharsetexception-cp437-after-zxing-update/
Since Android does not have the Cp437 charset, or at least it doesn't in some versions, it is important to avoid Charset.forName("Cp437") until really necessary. Encoding, for example, PDF417 will still fail if this charset is used, but not all PDF417 encoding modes use it.
Also, it should try the alternate name IBM437 for the charset.