如果在手机中安装了zxing条形码扫描仪,则非常简单:

Intent intent = new Intent("com.google.zxing.client.android.SCAN");

intent.putExtra("SCAN_MODE", "PRODUCT_MODE");//for Qr code, its "QR_CODE_MODE" instead of "PRODUCT_MODE"

intent.putExtra("SAVE_HISTORY", false);//this stops saving ur barcode in barcode scanner app's history

startActivityForResult(intent, 0);

并在OnActivityResult:

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data);

if (requestCode == 0) {

if (resultCode == RESULT_OK) {

String contents = data.getStringExtra("SCAN_RESULT"); //this is the result

} else

if (resultCode == RESULT_CANCELED) {

// Handle cancel

}

}

}

如果尚未安装:您可以将此代码放入try-catch块中并捕获异常,您可以执行以下操作:

Uri marketUri = Uri.parse("market://details?id=com.google.zxing.client.android");

Intent marketIntent = new Intent(Intent.ACTION_VIEW,marketUri);

startActivity(marketIntent);

因此,它将重定向到该应用程序,android market并且如果barcode scanner已安装,则该应用程序将继续运行一次。

如果您不想在应用程序中使用其他应用程序,则必须下载zxing库并尝试使用core.jar文件(它是使用apache ant创建的)中的类。请按照本教程进行操作:https://github.com/zxing/zxing/wiki/Getting-Started-Developing

可以在这里找到所有“意图”选项:

http://code.google.com/p/zxing/source/browse/trunk/android/src/com/google/zxing/client/android/Intents.java

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐