具有意图功能的条形码扫描仪

时间:2013-09-04 08:28:15

标签: android android-intent

在我的应用程序中,我正在为用户提供扫描条形码的能力。 现在我正在推动用户安装 ZXing 的扫描仪。

是否有其他可以处理意图的条形码扫描器(支持 startActivityForResult )?

3 个答案:

答案 0 :(得分:1)

ZBar barcode reader简单易用,支持startActivityForResult

答案 1 :(得分:1)

检查open source project。它是使用Zxing lib创建的,但它重量轻,扫描QR码快。希望你会发现它很有用。

而且,如果您只需要扫描QR码,this库是最好的和最简单的。

答案 2 :(得分:0)

如果您的Android设备上安装了条形码扫描仪,您可以让它扫描并返回结果,只需向其发送一个意图。例如,您可以连接按钮来扫描QR码,如下所示:

public Button.OnClickListener mScan = new Button.OnClickListener() {
public void onClick(View v) {
    Intent intent = new Intent("com.google.zxing.client.android.SCAN");
    intent.setPackage("com.google.zxing.client.android");
    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
    }
 }
 }

还要根据以下代码更改您的清单文件:

    <activity android:name="com.google.zxing.client.android.CaptureActivity"
       android:screenOrientation="landscape"
       android:configChanges="orientation|keyboardHidden"
       android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
       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>      

有关扫描产品条形码或要求条形码扫描器为您编码和显示条形码的更多选项,请参阅HERE

HERE来自我们的测试应用的一些来源,它们展示了如何使用它们: