0

我得到: android.content.ActivityNotFoundException: 没有找到处理意图的活动{ act=com.google.zxing.client.android.SCAN cat=[android.intent.category.DEFAULT] flg=0x4080000 pkg=com.google.zxing .client.android} 当我运行我自己的与 zxing 条码扫描仪集成的应用程序时。没有logcat。

首先,我从 zxing 下载源代码并将其构建到应用程序中并运行良好,然后将其转换为我的应用程序的库并运行我的应用程序,然后出现上述错误。以下是如何将 zxing 条码扫描器转换为我的应用程序的库:

一、在myapp的AndroidManifest.xml中,添加

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

二、在 myapp 的 MainActivity.java 上,我有这段代码:

      String package_name="com.google.zxing.client.android";

      Intent iScan = new Intent(package_name+".SCAN");

      iScan.setPackage(package_name);

      iScan.addCategory(Intent.CATEGORY_DEFAULT);

      iScan.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

      iScan.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);

      iScan.putExtra("SCAN_WIDTH", 420);

      iScan.putExtra("SCAN_HEIGHT", 420);

      iScan.putExtra("RESULT_DISPLAY_DURATION_MS", 3000L);

      iScan.putExtra("SCAN_MODE", "QR_CODE_MODE");

      iScan.putExtra("PROMPT_MESSAGE", "Scan the Contact");

           startActivityForResult(iScan, 0);      

三、在我的项目属性-> Android 上,

add  com.google.xing.client.android as lib and copy 

com.google.xing.client.android.captureactivity.jar core.jar 到我的应用程序的 libs 目录

4

2 回答 2

1

如果您通过 Intent 进行集成,您不会添加android/,甚至不会添加到您的项目中。core/事实上,这是非常不鼓励的,主要是因为您在上面发布的内容:您的应用程序说它可以处理 Barcode Scanner 应该处理的 Intent。这不行——你可能会拦截对我们应用程序的调用。

由于您已经通过 Intent 进行集成,因此请不要为此烦恼。您所需要的只是android-integration/. 请参阅http://code.google.com/p/zxing/wiki/ScanningViaIntent

如果您IntentIntegrator按照那里的描述使用,它将处理安装应用程序,这样您就不会绊倒ActivityNotFoundException上面显示的内容。

于 2012-08-31T18:08:19.673 回答
-1

您可以通过在手机中安装 Google Goggles 或任何类型的支持条码扫描应用程序(Zxing Barcode Scanner)来解决此错误。当您尝试启动 Activity 时,它将通过此​​应用程序打开并将数据输入您的 android 应用程序。

这对我有用:)

于 2016-04-23T01:50:34.013 回答