Está intentando acceder al escáner ZXing de dos maneras directamente conflictivas. El propósito del IntentIntegrator
que proporciona ZXing es simplificar el acceso a la aplicación de escáner externo creando el Intento para usted con todas las constantes y banderas apropiadas. Si no desea instalar y ejecutar la aplicación de escáner externo desde Android Market en un dispositivo, IntentIntegrator
no es para usted. Esto también es cierto con el código Java que ha publicado, ya que es esencialmente el mismo Intento que el integrador crearía para iniciar la aplicación externa.
Si integra ZXing en su proyecto como una biblioteca, los componentes se vuelven parte de su aplicación y deben ser referenciados como tales. Por ejemplo, una declaración en AndroidManifest.xml necesita ser añadido como:
<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="com.google.zxing.client.android.SCAN"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
Compruebe que está utilizando el nombre correcto en este caso para la actividad y la acción, ya que estos tienen que hacer referencia a la biblioteca. A continuación, puede iniciar la actividad escáner desde el código Java utilizando la siguiente:
int REQUEST_SCAN; //Request code for Intent result
String packageString = "com.yourapplication.packagename";
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.setPackage(packageString);
//Add any optional extras to pass
intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
//Launch
startActivityForResult(intent, REQUEST_SCAN);
Aviso la acción Intención coincide con la declaración en el manifiesto, pero el paquete es esta aplicación, no la aplicación Android Market ZXing.
HTH
http://stackoverflow.com/questions/7510430/qr-reader-in-android/7510615#7510615 ,, compruebe esta pregunta, si esto ayuda .. –
Hola, esta [página para java y mapa de bits] (http://code.google.com/p/zxing/wiki/DeveloperNotes), si tomas una foto con una cámara y luego das la foto tomada como tóxica, funcionará, pero esto es solo una idea. – kameny
@Onuray ¿Cómo resolvió el problema? – Erum