Zxing哪个罐子我用,为什么不能开始活动?

时间:2014-04-05 03:52:39

标签: android zxing

我正在尝试更新我之前为一个学校项目做过的应用程序,当时我使用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,我也得到了相同的东西。

1 个答案:

答案 0 :(得分:0)

添加android-integration JAR,这是正确的。但是你没有在你的代码中调用它!查看IntentIntegrator的javadoc。它完全处理您在此处编写的代码。

它还处理未安装应用程序的情况,这是第二个错误。你需要安装一些东西,比如Barcode Scanner,它会响应这个Intent