2012-08-09 15 views
9

He estado intentando crear una aplicación que usa el escáner de código de barras , y Decidí probar el ejemplo encontrado en el ZXing-2.0.zip, así que fui en mi eclipse e importé la aplicación androidtest como una aplicación de Android existente en mi espacio de trabajo, el código compila bien sin errores.ZXingTestActivity - escáner de código de barras - No se ha encontrado ninguna actividad para manejar Intención {act = com.google.zxing.client.android.SCAN (tiene extras)}

Ahora después de ejecutar la aplicación en mi AVD todos los botones aparecen justo como debe ser

Al hacer clic exploración botón del producto me da esta pila en el LogCat y la aplicación necesita para cerrar:

 
08-09 13:10:47.542: E/AndroidRuntime(681): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.google.zxing.client.android.SCAN (has extras) } 
08-09 13:10:47.542: E/AndroidRuntime(681): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1545) 
08-09 13:10:47.542: E/AndroidRuntime(681): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1416) 
08-09 13:10:47.542: E/AndroidRuntime(681): at android.app.Activity.startActivityForResult(Activity.java:3351) 
08-09 13:10:47.542: E/AndroidRuntime(681): at android.app.Activity.startActivityForResult(Activity.java:3312) 
08-09 13:10:47.542: E/AndroidRuntime(681): at com.google.zxing.client.androidtest.ZXingTestActivity$3.onClick(ZXingTestActivity.java:153) 
08-09 13:10:47.542: E/AndroidRuntime(681): at android.view.View.performClick(View.java:4084) 
08-09 13:10:47.542: E/AndroidRuntime(681): at android.view.View$PerformClick.run(View.java:16966) 
08-09 13:10:47.542: E/AndroidRuntime(681): at android.os.Handler.handleCallback(Handler.java:615) 
08-09 13:10:47.542: E/AndroidRuntime(681): at android.os.Handler.dispatchMessage(Handler.java:92) 
08-09 13:10:47.542: E/AndroidRuntime(681): at android.os.Looper.loop(Looper.java:137) 
08-09 13:10:47.542: E/AndroidRuntime(681): at android.app.ActivityThread.main(ActivityThread.java:4745) 
08-09 13:10:47.542: E/AndroidRuntime(681): at java.lang.reflect.Method.invokeNative(Native Method) 
08-09 13:10:47.542: E/AndroidRuntime(681): at java.lang.reflect.Method.invoke(Method.java:511) 
08-09 13:10:47.542: E/AndroidRuntime(681): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
08-09 13:10:47.542: E/AndroidRuntime(681): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
08-09 13:10:47.542: E/AndroidRuntime(681): at dalvik.system.NativeStart.main(Native Method) 

Esto es bastante raro porque debido a la actividad que está hablando debe ser ZXingTestActivity

Entonces, ¿qué me estoy perdiendo aquí? ¡¡Gracias!!

Respuesta

2

He arreglado el problema se puede encontrar la solución here

Lo que hay que hacer es añadir la mencionada pieza para el archivo de manifiesto. ¡¡Buena suerte!!

16

Simplemente agregue este código en su archivo de manifiesto, en la etiqueta de la aplicación.

<activity 
    android:name="com.google.zxing.client.android.CaptureActivity" 
    android:configChanges="orientation|keyboardHidden" 
    android:screenOrientation="landscape" 
    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.LAUNCHER" /> 
    </intent-filter> 
    <intent-filter> 
     <action android:name="com.google.zxing.client.android.SCAN" /> 

     <category android:name="android.intent.category.DEFAULT" /> 
    </intent-filter> 
</activity> 

Ahora agregue el permiso si no se ha añadido en la parte superior del archivo de

<uses-permission android:name="android.permission.CAMERA" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
+1

¿por qué ha duplicado la respuesta de OP error? esto es exactamente lo que publicó como solución hace mucho tiempo, pero sin una descripción de lo que está sucediendo. – andr

+0

no he duplicado la respuesta de nadie. Enfrenté este problema y no había nada aquí para ayudar. –

+1

Dejaré que los futuros visitantes decidan por sí mismos: el código que ha pegado es exactamente el mismo que el código de la página al que los OP responden (de más de 8 meses) a través de un enlace. También dudo que su respuesta se pueda describir como "nada aquí para ayudar". – andr

1

He resuelto este problema. puede mirar esta página "http://pastebin.com/J5EV72Cu".
de codificación

String packageString = "com.google.zxing.client.android"; 
Intent intent = new Intent("com.google.zxing.client.android.SCAN"); 
intent.setPackage(packageString); 
intent.putExtra("SCAN_MODE", "QR_CODE_MODE"); 
startActivityForResult(intent, 123); 

Solución de codificación de

String packageString = "com.yourapplication.packagename"; 
Intent intent = new Intent("com.google.zxing.client.android.SCAN"); 
intent.setPackage(packageString); 
intent.putExtra("SCAN_MODE", "SCAN_MODE"); 
startActivityForResult(intent, 123); 
+1

En lugar de dar un enlace pastebin, incluya ese código en su respuesta. De lo contrario, podría cerrarse con un motivo de respuesta solo de enlace. –

+0

sigue sin funcionar. –

+0

Este archivo pastebin está muy confundido. Y la solución no funciona. _resultCode_ sigue siendo diferente de _RESULT_OK_ en _onActivityResult_ –

Cuestiones relacionadas