【问题标题】:How to display the scan results in Android?如何在 Android 中显示扫描结果?
【发布时间】:2018-12-24 15:02:34
【问题描述】:

我想显示 ZXING 的扫描结果。我将 ZXING 集成到我的 android 应用程序中,扫描工作正常。现在我想使用扫描结果来更新主活动中的 TextView。

【问题讨论】:

  • 你可以从onhanledecode函数中获取代码。

标签: android zxing barcode-scanner


【解决方案1】:

打电话

Intent intent = new Intent("<span class="skimlinks- unlinked">com.google.zxing.client.android.SCAN</span>");
intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
startActivityForResult(intent, 0);

得到结果:

public void onActivityResult(int requestCode, int resultCode, Intent intent) {
   if (requestCode == 0) {
      if (resultCode == RESULT_OK) {
         String contents = intent.getStringExtra("SCAN_RESULT");
         String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
         // Handle successful scan
      } else if (resultCode == RESULT_CANCELED) {
         // Handle cancel
      }
   }
}

关注this教程了解更多信息

【讨论】:

  • 我是否应该在任何其他类中进行更改,例如结果处理程序或捕获活动?这个东西不起作用,因为我的应用程序与 zxing 集成。
  • 不,您可以按照教程执行并检查您在清单文件中添加的权限。
【解决方案2】:
 public void onActivityResult(int requestCode, int resultCode, Intent data) {
String contents = null;
String format=null;
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 0) {
  if (resultCode == RESULT_OK) {
     contents = data.getStringExtra("SCAN_RESULT");
     format = data.getStringExtra("SCAN_RESULT_FORMAT");
     //moved here
     TextView tv1 = (TextView) findViewById(R.id.scanFormat);
     tv1.setText(format);


     TextView tv = (TextView) findViewById(R.id.scanResult);
     tv.setText(contents);
     // Handle successful scan
  } else if (resultCode == RESULT_CANCELED) {
     // Handle cancel
  }
}

并将其也添加到您的活动中

  @Override
  public void onConfigurationChanged(Configuration newConfig){        
  super.onConfigurationChanged(newConfig);
  }

在旅游活动的清单文件中:

    android:configChanges="orientation|keyboardHidden"

【讨论】:

  • 我也想显示条形码的类型/格式,但它不像意图类型那样存在...你能帮帮我吗..
【解决方案3】:

我能够在以下帮助下成功开发条形码扫描应用程序 Create a Barcode Scanner usingg Zxing library

它也可能会有所帮助.. 或者任何想要开发条形码扫描应用程序的人!!

【讨论】:

  • 我的应用程序扫描条形码成功,但我无法显示扫描结果。我必须改变哪个班级。我将 onActivityResult 方法放在主活动类中,但它不起作用..你能帮帮我吗?
【解决方案4】:
historyManager = new HistoryManager(this);
        historyManager.trimHistory();

        Intent intent = getIntent();

        int itemNumber = intent.getIntExtra(Intents.History.ITEM_NUMBER, -1);
        //Log.d(TAG ,"ITEM NUMBER =>" +itemNumber);
        if (itemNumber >= 0) {
            historyItem = historyManager.buildHistoryItem(itemNumber);

            decodeOrStoreSavedBitmap(null, historyItem.getResult());
            Log.d(TAG ,"ITEM NUMBER =>" +historyItem.getResult());
        }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-15
    • 1970-01-01
    • 1970-01-01
    • 2018-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多