Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Zxing 1.7和Android API 15-扫描器在摩托罗拉设备上使应用程序崩溃_Android_Zxing - Fatal编程技术网

Zxing 1.7和Android API 15-扫描器在摩托罗拉设备上使应用程序崩溃

Zxing 1.7和Android API 15-扫描器在摩托罗拉设备上使应用程序崩溃,android,zxing,Android,Zxing,我有ZXing1.7和Android api 15。通过Intent和added CaptureActivity集成扫描仪,这样应用程序就不会要求使用哪个摄像头。创建core.jar并将其添加到Android项目库中,并将Zxing Android作为库项目添加到我的项目构建路径中。 当我第一次单击应用程序的“san”选项卡时,扫描仪不工作,应用程序崩溃,但下一次当我重新登录应用程序并可以扫描条形码时,相同的功能会工作。 当应用程序第一次崩溃时,它为CaptureActivity提供ClassN

我有ZXing1.7和Android api 15。通过Intent和added CaptureActivity集成扫描仪,这样应用程序就不会要求使用哪个摄像头。创建core.jar并将其添加到Android项目库中,并将Zxing Android作为库项目添加到我的项目构建路径中。 当我第一次单击应用程序的“san”选项卡时,扫描仪不工作,应用程序崩溃,但下一次当我重新登录应用程序并可以扫描条形码时,相同的功能会工作。 当应用程序第一次崩溃时,它为CaptureActivity提供ClassNotFound异常。我遵循了所有必需的步骤,并在Manifst.xml文件中添加了CaptureActivity。 请给我一些建议,因为我已经尝试了很多选择。Zxing是否只与Android API9一起工作,后者现在已经过时,其替代品是10?下面是我的ScanActivity的代码

public void onCreate(Bundle savedInstanceState) 
  {         
    super.onCreate(savedInstanceState);        
    //Scan code
    Intent intent= new Intent("com.google.zxing.client.android.SCAN");
    intent.putExtra("SCAN_MODE", "PRODUCT_MODE");

    //To aviod the complete action using dialog box
    intent.setClassName(this, "com.google.zxing.client.android.CaptureActivity"); 

    startActivityForResult( intent, 0 );

    //getApplicationContext().startActivity( intent );
    //View scanView = ((ActivityGroup) context).getLocalActivityManager().startActivity(id, newIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView();

    /*
    Intent i = new Intent(Intent.ACTION_MAIN);
    PackageManager manager = getPackageManager();
    i = manager.getLaunchIntentForPackage( "com.google.zxing.client.android.SCAN" );
    i.addCategory( Intent.CATEGORY_LAUNCHER );
    startActivityForResult( i, 0);
    */
   }

  public void onActivityResult(int requestCode, int resultCode, Intent intent)
  {
    System.out.println("ScanRewardCodeActivity OnActivityResult Method");
    if(requestCode == 0)
    {
      //Stop QR Code Reader intent
      finishActivity( 0 );

      TabActivity tabActivity = (TabActivity)getParent();
      TabHost tabHost = tabActivity.getTabHost();

      if(resultCode == RESULT_OK){
       System.out.println("Done");
      }
    }
 }

这里有很多问题

  • 如果您正在使用intent,则不需要
    core/
    android/
    代码。确保从您的项目中删除所有这些代码,因为我认为它们会干扰并导致崩溃
  • 您不应该修改您的
    AndroidManifest.xml
  • 是的,ZXing1.7适用于到4.0.x的所有版本,但是,您应该使用几天前发布的ZXing2.0
  • 不要试图编写自己的集成代码。使用
    android integration/
    中给出的代码,因为它确实有效

感谢Sean的建议,我是新的Android开发者,并关注了链接。在你的评论中,你说要删除core/和android/但我如何启动扫描活动?我有一个扫描选项卡,我调用上面复制的扫描活动代码。你建议修改上面的code onCreate()方法吗?这就是你所需要的,没有别的:非常感谢..我明白了你的意思..现在我也在尝试非故意的方式,就像我说的,我遵循了链接,下面是code onCreate并处理结果,但是getting CaptureActivity not found错误。我使用了ZXing1.7和Android SDK 15。Intent=newintent(“com.google.zxing.client.android.SCAN”);intent.setClassName(这是“com.google.zxing.client.android.CaptureActivity”);startActivityForResult(意向,0);你把两件完全不同的事情搞混了。我们强烈反对这篇博文中的复制粘贴方式,所以我不会帮你这样做。肖恩,很抱歉给你带来困惑。是的,我确实陈述了两件不同的事情,但我复制的代码来自我的应用程序,该代码使用的是zxing 1.7和Android SDK 9,由我的同事开发。现在我需要修改应用程序中的一些内容,因此从存储库中获取代码,并在ZXing1.7和SDK 15上工作。但Get CaptureActivity未找到错误。因此,我们开始寻找整合它的方法。但我仍然不明白为什么非故意的方式不起作用。无论如何,非常感谢您的时间和及时帮助。