java - ZXing QR 代码扫描仪嵌入在扫描过程中按下后退按钮

标签 java android maven zxing qr-code

我有以下场景: 我使用 Gradle 的 Maven 存储库将 ZXing 集成到我的 Android 应用程序中。

在我的扫描 Activity 中,代码如下所示:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.scan_layout);

    IntentIntegrator integrator = new IntentIntegrator(this);
    integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES);
    integrator.setPrompt(" ");
    integrator.setScanningRectangle(700, 700);
    integrator.setResultDisplayDuration(0);
    integrator.setCameraId(0);  // Use a specific camera of the device
    integrator.initiateScan();
}

  public void onActivityResult(int requestCode, int resultCode, Intent intent) {

    //retrieve scan result
    IntentResult scanningResult = null;
    scanningResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);

    if (scanningResult != null) {
     //we have a result
        String scanContent = scanningResult.getContents();

        if(isConnected()) {
            requestdata("http://rm360project-001-site1.smarterasp.net/api/endpoint", scanContent);
        }else {
            Toast.makeText(this, "Internet Connection not available", Toast.LENGTH_LONG).show();
        }
    } else {
        Intent getMainScreen = new Intent(ScanScreen.this, MainActivity.class);//pentru test, de sters
        startActivity(getMainScreen);
    }
}

我希望它的工作方式:
1.如果我扫描二维码,调用函数requestdata
2. 如果我在扫描过程中按返回键,转到 MainActivity

问题: 即使当我在我的设备上按回时,函数 requestdata 也会被调用,我认为是因为 scaningResult 永远不会为 null。按下后退时它不应该为空吗? 你知道为什么会这样吗? 谢谢!

最佳答案

不知道您是否还有兴趣,但是...
只需更改这一行:

     if (scanningResult != null) {

对此:

     if (scanningResult != null && resultCode==RESULT_OK) {

由于某些原因,简单的 scanningResult 实际上并没有像 ZXing 团队所建议的那样返回 null,即使 Intent 被取消也是如此。

关于java - ZXing QR 代码扫描仪嵌入在扫描过程中按下后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31091328/

相关文章:

java - 无法从列表中删除对象

java - 在已打开的浏览器上执行 Selenium 命令

java - fragment 内容未出现在手机上

java - 状态码 415 : No MessageBodyReader Found for multipart/form-data, FormDataMultiPart

java - Maven 多模块项目找不到兄弟模块

java - 使用 Lucene 索引文本文档时出现异常,使用 SnowballAnalyzer 进行清理

android - videoview 可以播放存储在内部存储中的视频吗?

java - 如何将 Android View 渲染到 Canvas 而不先渲染它(即没有完整布局)

Android - ItemDecoration 在添加项目或滚动时有时会消失或错位

eclipse - 设置TestNG eclipse插件的输出目录