【发布时间】:2019-05-25 21:23:01
【问题描述】:
我正在尝试使用 Kotlin 中的 Zxing 库开发 QR 码扫描仪应用程序。我可以打开相机并扫描二维码,但没有得到响应。
我也尝试this tutorial 进行实施,但没有得到帮助。
class HomeFragment : Fragment() {
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
return inflater.inflate(R.layout.fragment_home, container, false)
}
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
val mScanner = IntentIntegrator(activity)
mScanner.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE)
mScanner.setBeepEnabled(true)
mScanner.initiateScan()
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
val result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data)
if (result != null) {
if (result.contents == null) {
Toast.makeText(activity, "Cancelled", Toast.LENGTH_LONG).show()
} else {
Toast.makeText(activity, "Scanned: " + result.contents, Toast.LENGTH_LONG).show()
}
} else {
super.onActivityResult(requestCode, resultCode, data)
}
}
}
我想在祝酒时得到响应,但是当我尝试使用调试器时,我无法转到 onActivityResult() 并且相机很快关闭。
【问题讨论】:
-
当相机关闭和应用程序崩溃时,您可以分享您的 logcat 错误详细信息吗?
-
我在
result@AsadChoudhary 中遇到空指针异常 -
在哪一行?
-
val result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data) -
我添加了我的答案。请检查,它应该工作。