QRScanner:startActivityForResult抛出ActivityNotFound异常

时间:2012-06-04 14:19:32

标签: android android-intent android-activity qr-code

在我的应用中,我尝试调用一个结果的意图,但它显示“未找到活动异常”。

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

1 个答案:

答案 0 :(得分:1)

可能没有安装扫描仪吗?试试这个:

if (checkpackage(context, "com.google.zxing.client.android")) {
        ((Activity) c).startActivityForResult(new Intent("com.google.zxing.client.android.SCAN"), 0);
    } else {
        Uri marketUri = Uri.parse("market://details?id=com.google.zxing.client.android");
        Intent marketIntent = new Intent(Intent.ACTION_VIEW).setData(marketUri);
        ((Activity) c).startActivity(marketIntent);
        Toast.makeText(c, "Es ist kein Barcodescanner installiert", Toast.LENGTH_SHORT).show();
    }

public static boolean checkpackage(Context ctx, String PACKAGE_NAME) {
    try {
        PackageInfo info = ctx.getPackageManager().getPackageInfo(PACKAGE_NAME, 0);
        return info != null;

    } catch (PackageManager.NameNotFoundException e) {
        return false;
    }
}