У меня 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");
}
}
}