Based on the MLKit Google code scanner (Beta) you can use this module to make a simple QR/Barcode scanner inside your app that don't need any camera permission!
If you'll need to customize your UI or want to scan text have a look at the demo of my ti.mlkit module.
const win = Ti.UI.createWindow();
const codescanner = require("ti.codescanner");
codescanner.addEventListener("complete", e => {
	console.log(e.value);
})
win.addEventListener("click", e => {
	codescanner.scan({
		autoZoom: false,
		formats: [codescanner.FORMAT_QR_CODE] // only scan QR Codes
	});
});
win.open();- complete -> event.value
 - cancel
 - error -> event.message
 
- scan({})
optional parameters:
- autoZoom: boolean
 - formats: [int array of constants]
 
 
- FORMAT_UNKNOWN
 - FORMAT_ALL_FORMATS
 - FORMAT_CODE_128
 - FORMAT_CODE_39
 - FORMAT_CODE_93
 - FORMAT_CODABAR
 - FORMAT_DATA_MATRIX
 - FORMAT_EAN_13
 - FORMAT_EAN_8
 - FORMAT_ITF
 - FORMAT_QR_CODE
 - FORMAT_UPC_A
 - FORMAT_UPC_E
 - FORMAT_PDF417
 - FORMAT_AZTEC
 
On some phones the code scanner might not work or open/closes right away without any error. The Google Play Services could be an issue.
The Titanium module only calls one function from Googles library. If you have a non-working phone you would need to use their support pages: https://developers.google.com/ml-kit/community
- Michael Gangolf (@MichaelGangolf / Web)