У меня есть Zxing 1.7 и Android API 15. Интегрировал сканер через Intent и добавил CaptureActivity, чтобы приложение не спрашивало, какую камеру использовать. Создал core.jar и добавил его в библиотеку проекта 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");
}
}
}