ZXingLib would be the best method, but no one has been able to correct an error: it does not work well with the portrait layout.
So far as I know, the only way is to use the library
ABZxing, which, however, requires that the users has Zxing OR QuickMark app installed on their device.