android startActivityForResult给出错误

android startActivityForResult给出错误,android,Android,我是android新手,请有人帮帮我,下面是我尝试运行扫描条形码的代码,但每当我单击按钮时,它就会给出一个错误,它说“强制关闭我应该做什么”请帮帮我 this.btnCheck = (Button) findViewById(R.id.btnsearch); this.btnCheck.setOnClickListener( new OnClickListener() { public void onClick(View v) { Intent intent = new Intent("com.

我是android新手,请有人帮帮我,下面是我尝试运行扫描条形码的代码,但每当我单击按钮时,它就会给出一个错误,它说“强制关闭我应该做什么”请帮帮我

this.btnCheck = (Button) findViewById(R.id.btnsearch);
this.btnCheck.setOnClickListener(
new OnClickListener() {
public void onClick(View v)
{
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 data) {
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
String contents = data.getStringExtra("SCAN_RESULT");
Toast.makeText(this, "the scaned code is = "+ contents, Toast.LENGTH_SHORT).show(); 
// Handle successful scan
} else if (resultCode == RESULT_CANCELED) {
// Handle cancel
}
}
}
编辑日志:

这是正在启动的日志cat:

Intent { act=com.google.zxing.client.android.SCAN (has extras) } from pid 359 thread exiting with uncaught exception (group=0x40015560) 

08-18 01:52:00.995: ERROR/AndroidRuntime(359): FATAL EXCEPTION: main 

08-18 01:52:00.995: ERROR/AndroidRuntime(359): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.google.zxing.client.android.SCAN (has extras) } 

08-18 01:52:00.995: ERROR/AndroidRuntime(359): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1408)

此异常可能意味着您尝试使用的设备未安装条形码扫描仪。您可以在应用程序中的某个位置使用此代码进行检查,如果用户尚未安装,则提示用户从市场上安装

      //Check for Barcode scanner, if not found put up an alert that allows user to install it.
    PackageManager pm = getPackageManager();
    try {
        ApplicationInfo appInfo = pm.getApplicationInfo("com.google.zxing.client.android", 0);
    } catch (NameNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
         new AlertDialog.Builder(this)
            .setTitle("WARNING:")
            .setMessage("You don't have Barcode Scanner installed. Please install it.")
             .setCancelable(false)
            .setNeutralButton("Install it now", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int whichButton) {         
                          Uri uri = Uri.parse("market://search?q=pname:com.google.zxing.client.android");
                          startActivity(new Intent(Intent.ACTION_VIEW, uri));
                    }
            })
            .show();
    }
编辑:更改此行:

intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
为此:

intent.putExtra("SCAN_MODE", "PRODUCT_MODE");

我强烈建议您彻底阅读它,然后遵循代码示例下面的两个链接,查看它显示的所有代码。即使您不理解它,它也会让您通过BarcodeScanner应用程序的Intents了解什么功能。

@izhar-首先,检查您的清单是否正确定义了目标活动。如果是这样,那么为了帮助我们,您需要向我们显示崩溃时的堆栈跟踪。在Eclipse中打开logcat视图(窗口>显示视图>logcat)。运行应用程序,当它崩溃时,您应该能够在logcat窗口中看到堆栈跟踪。(这可能有助于最大化LogCat窗口。)复制堆栈跟踪并将其添加到您的问题中。好奇的是,您能否给出一个非零请求代码并告诉我们发生了什么。或者告诉我们它崩溃的确切位置。这是日志猫现在开始:Intent{act=com.google.zxing.client.android.SCAN(有额外功能)}来自pid 359线程,未捕获异常退出(group=0x40015560)08-18 01:52:00.995:ERROR/AndroidRuntime(359):致命异常:main 08-18 01:52:00.995:ERROR/AndroidRuntime(359):android.content.ActivityNotFoundException:未找到处理意图的活动{act=com.google.zxing.client.android.SCAN(有附加功能)}08-18 01:52:00.995:ERROR/AndroidRuntime(359):在android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1408)@Sam。。非零requestCode提供相同的error@Tim.. 按下“立即安装”按钮后,仍会出现上述错误08-18 12:25:44.527:error/AndroidRuntime(485):android.content.ActivityNotFoundException:未找到处理Intent的活动{act=android.Intent.action.VIEW dat=market://search?q=pname:com.google.zxing.client.android }08-18 12:25:44.527:错误/AndroidRuntime(485):在android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1408)08-18 12:25:44.527:ERROR/AndroidRuntime(485):在android.app.Instrumentation.execStartActivity(Instrumentation.java:1378)08-18 12:25:44.527:ERROR/AndroidRuntime(485):在android.app.Activity.startActivity(Activity.java:2933)你在用什么设备?在运行应用程序之前,请尝试到市场上下载条形码扫描仪。感谢您的帮助,朋友们,它现在可以工作了。。但是我想扫描这本书的ISBN,但它只扫描像代码一样的点。有人能告诉我扫描这本书的ISBN的扫描模式吗?代码答案最好有一些解释。请在你的答案中添加一些上下文。
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
        try {
            startActivityForResult(intent,0);
        } catch (ActivityNotFoundException e) {
            startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + "com.google.zxing.client.android")));
        }