Zxing 1.7 и Android API 15 - Сканер сбой приложения на устройстве Motorola - PullRequest
0 голосов
/ 06 февраля 2012

У меня Zxing 1.7 и Android api 15. Интегрировал сканер через Intent и добавил CaptureActivity, чтобы приложение не запрашивало, какую камеру использовать. Создал core.jar и добавил его в lib проекта Android и добавил Zxing Android в качестве проекта библиотекина мой путь сборки проекта.Сканер не работает, и приложение падает в первый раз, когда я нажимаю на вкладку «san» в моем приложении, но в следующий раз та же функция работает, когда я снова вхожу в свое приложение и штрих-код может быть отсканирован.Когда приложение аварийно завершает работу в первый раз, оно дает исключение ClassNot Found для CaptureActivity.Я выполнил все необходимые действия, а также добавил CaptureActivity в файл Manifst.xml.Пожалуйста, совет, как я пробовал много альтернатив.Работает ли 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");
      }
    }
 }

1 Ответ

0 голосов
/ 06 февраля 2012

Здесь есть ряд проблем.

  • Если вы используете Intents, вам не нужен код core/ или android/.Убедитесь, что удалили весь этот код из вашего проекта, так как я думаю, что он мешает и вызывает сбой.
  • Вам не следует изменять AndroidManifest.xml
  • Да, zxing 1.7 работает со всеми версиями до 4.0.x, но вы должны использовать zxing 2.0, выпущенный несколько дней назад
  • Не пытайтесь написать свой собственный код интеграции.Используйте код, указанный в android-integration/, поскольку он определенно работает
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...