我正在尝试更新我之前为一个学校项目做过的应用程序,当时我使用zing扫描条形码。因为在我第一次创建应用程序时,现在似乎有一个android集成jar,而不仅仅是核心。我添加了android-integration-3.0.0.jar。我在活动中导入了com.google.zxing。*:
import android.os.Bundle;
import android.view.Menu;
import com.google.zxing.*;
import android.text.format.Time;
import android.util.Log;
public class MainActivity extends Activity implements OnClickListener, HttpCallback{
我开始扫描活动:
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(v.getId() == R.id.scanButt){
Intent in = new Intent("com.google.zxing.client.android.SCAN");
in.putExtra("SCAN_MODE", "PRODUCT_MODE");
startActivityForResult(in, 0);
}
if(v.getId() == R.id.viewButt){
Intent in = new Intent(this, ViewActivity.class);
startActivity(in);
}
}
但是当我开始活动时,我收到了这个错误:
04-04 23:35:02.708: E/AndroidRuntime(834): FATAL EXCEPTION: main
04-04 23:35:02.708: E/AndroidRuntime(834): Process: com.example.vinscanner, PID: 834
04-04 23:35:02.708: E/AndroidRuntime(834): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.google.zxing.client.android.SCAN (has extras) }
04-04 23:35:02.708: E/AndroidRuntime(834): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1632)
04-04 23:35:02.708: E/AndroidRuntime(834): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1424)
04-04 23:35:02.708: E/AndroidRuntime(834): at android.app.Activity.startActivityForResult(Activity.java:3424)
04-04 23:35:02.708: E/AndroidRuntime(834): at android.app.Activity.startActivityForResult(Activity.java:3385)
04-04 23:35:02.708: E/AndroidRuntime(834): at com.example.vinscanner.MainActivity.onClick(MainActivity.java:218)
04-04 23:35:02.708: E/AndroidRuntime(834): at android.view.View.performClick(View.java:4438)
04-04 23:35:02.708: E/AndroidRuntime(834): at android.view.View$PerformClick.run(View.java:18422)
04-04 23:35:02.708: E/AndroidRuntime(834): at android.os.Handler.handleCallback(Handler.java:733)
04-04 23:35:02.708: E/AndroidRuntime(834): at android.os.Handler.dispatchMessage(Handler.java:95)
04-04 23:35:02.708: E/AndroidRuntime(834): at android.os.Looper.loop(Looper.java:136)
04-04 23:35:02.708: E/AndroidRuntime(834): at android.app.ActivityThread.main(ActivityThread.java:5017)
04-04 23:35:02.708: E/AndroidRuntime(834): at java.lang.reflect.Method.invokeNative(Native Method)
04-04 23:35:02.708: E/AndroidRuntime(834): at java.lang.reflect.Method.invoke(Method.java:515)
04-04 23:35:02.708: E/AndroidRuntime(834): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
04-04 23:35:02.708: E/AndroidRuntime(834): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
04-04 23:35:02.708: E/AndroidRuntime(834): at dalvik.system.NativeStart.main(Native Method)
04-04 23:40:02.848: I/Process(834): Sending signal. PID: 834 SIG: 9
然后我尝试使用core-3.0.0.jar甚至我在原版中使用的core-2.1.0.jar,我也得到了相同的东西。
答案 0 :(得分:0)
添加android-integration
JAR,这是正确的。但是你没有在你的代码中调用它!查看IntentIntegrator
的javadoc。它完全处理您在此处编写的代码。
它还处理未安装应用程序的情况,这是第二个错误。你需要安装一些东西,比如Barcode Scanner,它会响应这个Intent
。