【发布时间】:2020-07-23 09:41:37
【问题描述】:
我在我的 Android 应用程序中使用了 zxing-android-embedded 库。在调用 initialScan() 方法从我的活动中启动扫描仪之前,我设置了一个类变量 scanedItemId 以了解我单击了哪个项目进行扫描:
[...]
scanedItemId = currentItem.id // The current item where we clicked on.
IntentIntegrator qrCodeScanner = new IntentIntegrator(MyActivity.this);
qrCodeScanner.setOrientationLocked(false);
qrCodeScanner.initiateScan();
[...]
然后我通过 onActivityResult 方法得到结果。它运行良好,但我的类变量 scanedItemId 为空,因为活动已重新启动。是否可以保留 MyActivity 的初始实例(已设置好 scanedItemId)或通过 IntentIntegrator 传递我需要的值以将其返回到 MyActivity 的新实例?
[...]
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case IntentIntegrator.REQUEST_CODE:
// Here the scanedItemId is always null.
[...]
如果可能的话,我不想使用硬持久性(如 db 或文件)来获取我的 scanedItemId 值。
希望它足够清楚
【问题讨论】:
标签: java android android-intent zxing onactivityresult