0

我正在尝试将 zxing 条码扫描仪集成到我的应用程序中。一切都按计划进行,只有当我单击扫描时,它才会要求我从集成或外部进行选择。谁能回避这个问题?

到项目:我没有把它作为库导入,我把所有的java代码文件都放到了项目中。这是我们的要求之一。我们不希望应用程序依赖于任何外部资源(即使它们只是 ide 内部的)

我还在没有 zxing 条码扫描仪的 android 设备上对其进行了测试。没有问任何问题。

我怎样才能通过这个问题并在内部版本中指出海峡?

这是调用它的代码:

button2.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Intent intent = new Intent("com.google.zxing.client.android.SCAN");
            intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
            startActivityForResult(intent, 0);
        }
    });

我也试图找到 com.google.zxing.client.android.SCAN 类但找不到。但有趣的是,它有效。

这是清单的一部分:

    <activity android:name="com.google.zxing.client.android.CaptureActivity"
       android:screenOrientation="landscape"
       android:configChanges="orientation|keyboardHidden"
       android:theme="@android:style/Theme"
       android:windowSoftInputMode="stateAlwaysHidden">
       <intent-filter>
          <action android:name="android.intent.action.MAIN"/>
          <category android:name="android.intent.category.DEFAULT"/>
       </intent-filter>
       <intent-filter>
          <action android:name="com.google.zxing.client.android.SCAN"/>
          <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>
    </activity>

在集成代码上,我遵循了这个:

http://damianflannery.wordpress.com/2011/06/13/integrate-zxing-barcode-scanner-into-your-android-app-natively-using-eclipse/

我真的不知道我做错了什么。^^

4

1 回答 1

7

这是调用它的代码

您正在尝试使用 的操作开始一项活动com.google.zxing.client.android.SCAN。任何给定的设备都可以有任意数量的设备,包括来自标准条码扫描仪应用程序的设备。

因此,而不是:

Intent intent = new Intent("com.google.zxing.client.android.SCAN"); 

你应该使用:

Intent intent = new Intent(this, com.google.zxing.client.android.CaptureActivity.class); 

而且,由于您不是Barcode Scanner,因此您应该删除清单中的<intent-filter>元素。CaptureActivity

于 2012-05-12T23:24:49.647 回答