【问题标题】:ZXing freeze Android applicationZXing冻结Android应用
【发布时间】:2013-11-13 12:53:47
【问题描述】:

我想使用 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 中没有错误消息。

你有什么想法吗?

【问题讨论】:

  • 不清楚你在做什么。您正在尝试调用第三方应用程序 Barcode Scanner。但是您正在拦截Intent。您正在显示发送Intent 的代码,但说冻结在您自己的代码中,您没有显示。这里没有足够的信息。

标签: android zxing qr-code


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2017-06-17
    • 1970-01-01
    • 2018-04-18
    • 2011-05-23
    • 1970-01-01
    • 2021-09-24
    • 2017-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多