У меня следующая проблема: я интегрировал ZXing в свое приложение, но после сканирования чего-то оно вылетает. Я думаю, что это из-за изменения ориентации, и я прочитал другие вопросы на топи c, но я не мог заставить его работать ... Вот код:
fun barcodescan() {
Log.i("barcode scan", "barcode")
run {
IntentIntegrator(this)
.setOrientationLocked(false)
.initiateScan();
}
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
Log.i("on activity result", "result")
var result: IntentResult? =
IntentIntegrator.parseActivityResult(requestCode, resultCode, data)
if (result != null) {
if (result.contents != null) {
scannedResult = result.contents
} else {
}
} else {
super.onActivityResult(requestCode, resultCode, data)
}
}
override fun onSaveInstanceState(outState: Bundle) {
Log.i("on save", "save")
outState.putString("scannedResult", scannedResult)
super.onSaveInstanceState(outState)
}
override fun onRestoreInstanceState(savedInstanceState: Bundle) {
Log.i("onrestore", "restore")
super.onRestoreInstanceState(savedInstanceState)
savedInstanceState.let {
scannedResult = it.getString("scannedResult").toString()
}
}
Журналы показывают это не достигает "OnActivityResult". Спасибо.