0

我想使用 ZXing 库来扫描二维码,但这个库让我的应用程序冻结。

我已经导入了 ZXing 项目,添加了 core.jar 并创建了这个活动:

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

    Intent intent = new Intent("com.google.zxing.client.android.SCAN");
    intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
    startActivityForResult(intent, 0);

}

@Override
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.aristote.kalidea.ScanActivity"
        android:label="@string/title_activity_scan" >

        <intent-filter>
            <action android:name="com.google.zxing.client.android.SCAN" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

最后我添加了权限:

但是,当我继续我的 ScanActivity 时,应用程序冻结了,除了终止应用程序之外我什么也做不了,而且我的 LogCat 中没有错误消息。

你有什么主意吗 ?

4

1 回答 1

0

好吧,其实我做的很傻。我已将所有“Android”文件夹作为我用作库的新项目。最后,我从零开始,导入在“android-integration”中创建的文件并使用此代码:https ://code.google.com/p/zxing/wiki/ScanningViaIntent

现在,一切都很好。我只会搜索如何用当前语言翻译警告消息。

于 2013-11-13T13:48:13.017 回答