estoy tratando de integrar ZXing QR en mi aplicación Android sin necesidad de instalar aplicación de escáner de código de barras, he seguido los pasos como:escáner de código QR ZXing sin necesidad de instalar escáner de código de barras
1) En primer lugar he descargado ZXing.zip archivar y extraerlo
2) abra el proyecto ZXing como un proyecto existente de Android y luego vaya a la carpeta android y abra la carpeta android y también incluya el archivo core.jar en el proyecto ZXing llamado CaptureActivity.
3) He utilizado el proyecto CaptureActivity como una biblioteca en mi proyecto llamado 'QRCodeSample'. (problema en la inclusión de CaptureActivity como una biblioteca)
4) Mi código es el below3:
public class QRCodeSampleActivity extends Activity {
Button b1;
static String contents;
public static final int REQUEST_CODE = 1;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
b1 = (Button) findViewById(R.id.button1);
b1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
/*Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("com.google.zxing.client.android.SCAN.SCAN_MODE",
"QR_CODE_MODE");
startActivityForResult(intent, 0);*/
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
startActivityForResult(intent, 0);
}
});
}
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
contents = intent.getStringExtra("SCAN_RESULT");
String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
Log.i("Barcode Result", contents);
Intent i1 = new Intent(QRCodeSampleActivity.this, webclass.class);
startActivity(i1);
// Handle successful scan
} else if (resultCode == RESULT_CANCELED) {
// Handle cancel
Log.i("Barcode Result","Result canceled");
}
}
}
}
El archivo de manifiesto es:
<uses-permission android:name="android.permission.CAMERA"/>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity android:name="com.google.zxing.client.android.CaptureActivity"
android:screenOrientation="landscape"
android:configChanges="orientation|keyboardHidden"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
<intent-filter>
<action android:name="com.google.zxing.client.android.SCAN"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<activity
android:label="@string/app_name"
android:name=".QRCodeSampleActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".webclass"></activity>
</application>
</manifest>
y su biblioteca no añadir también
Cuando estoy tratando de ru En mi proyecto, el mensaje de error es:
No se pudo crear una instancia de la actividad ComponentInfo {com.qr.code/com.qr.code}: java.lang.ClassNotFoundException: com.qr.code en el cargador dalvik.system.PathClassLoader [/data/app/com.qr.code-1.apk]
Para incluir ZXing es posible Lo logré. Creo que usas algunas otras clases. No puedo recordar que zxing use el espacio de nombres com.qr.code – rekire
¿Por qué está utilizando el proyecto de la biblioteca? Puede construir la biblioteca zxing descargada en un archivo jar utilizando Ant e incluir ese archivo jar en su proyecto. Aquí está el enlace de las instrucciones http://code.google.com/p/zxing/wiki/GettingStarted – blessenm
¿Estás seguro de que esto también funciona para Android? Hice mi propia lib con algunas extensiones personalizadas. – rekire