少年意气强不羁,虎胁插翼白日飞。这篇文章主要讲述Android 系列 5 7使用Google ZXing条形码扫描器扫描条形码或QR码相关的知识,希望能为你提供帮助。
5.7使用Google ZXing条形码扫描器扫描条形码或QR码
问题
您希望应用程序能够扫描条形码或QR码(“
QR”
原本代表“
快速反应”
)。
解
使用Intent访问由Google ZXing条形码扫描器公开的扫描功能。
讨论
android的一个伟大的功能是它是多么容易利用现有的功能。扫描条形码和QR码是一个很好的例子。 Google有一个免费的扫描应用程序,您可以通过意图访问;
因此应用程序可以轻松添加扫描功能,开放新的界面,通信和功能的可能性。
此配方中的程序是如何通过Intent访问Google条码扫描器的示例。确保已安装Google条码扫描器(https://market.android.com/details?id=com.google.zxing.client.android)。在图中,有三个按钮,让用户选择扫描QR码,产品条形码或其他东西。有两个TextView用于显示扫描的条形码类型及其包含的数据。布局是常规的:一个垂直的LinearLayout,所以我们不需要在这里重现它。
活动代码如例5-16所示;
根据按下哪个按钮,程序在启动ZXing活动之前将相关参数放入Intent,并等待结果。
实例5-16。扫描程序主活动
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void HandleClick(View arg0) {
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
switch(arg0.getId()){
case R.id.butQR:
intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
break;
case R.id.butProd:
intent.putExtra("SCAN_MODE", "PRODUCT_MODE");
break;
case R.id.butOther:
intent.putExtra("SCAN_FORMATS", "CODE_39,CODE_93,CODE_128,DATA_MATRIX,ITF,CODABAR");
break;
}
try {
startActivityForResult(intent, 0);
//Barcode Scanner to scan for us
} catch (ActivityNotFoundException e) {
Toast.makeText(this, "Please install the ZXing Barcode Scanner app", Toast.LENGTH_LONG).show();
}
}
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 0) {
TextView tvStatus=(TextView)findViewById(R.id.tvStatus);
TextView tvResult=(TextView)findViewById(R.id.tvResult);
if (resultCode == RESULT_OK) {
tvStatus.setText(intent.getStringExtra("SCAN_RESULT_FORMAT"));
tvResult.setText(intent.getStringExtra("SCAN_RESULT"));
} else if (resultCode == RESULT_CANCELED) {
tvStatus.setText("Press a button to start a scan.");
tvResult.setText("Scan cancelled.");
}
}
}
}
注意,在下面的表格中,如何可以扫描条形码族(使用SCAN_MODE)或特定类型的条形码(使用SCAN_FORMATS)。如果知道正在解码什么类型的条形码,则将扫描格式设置为该特定类型可以导致更快的解码(它不会试图运行通过所有条形码解码算法)。例如,您可以使用intent.putExtra(“ SCAN_FORMATS” ,“ CODE_39” )。要使用多个SCAN_FORMATS,您需要传递逗号分隔的列表; 请参见示例5-16。
现在去,使扫描库存控制或杂货列表应用程序,你一直在想!【Android 系列 5 7使用Google ZXing条形码扫描器扫描条形码或QR码】再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow
推荐阅读
- android 如何让通知不被清除或者点击后不消失
- android adb 查询apk安装到了哪里,已经安装到了哪里
- android 滑动锁屏状态下如何禁止下拉状态栏
- Java vsKotlin 应该使用Kotlin进行Android开发吗
- android tag 分率
- 解析最近很火的米花APP
- [Flutter] lib/main.dart:1: Warning: Interpreting this as package URI, 'package:flutter_app/main.
- 安卓学习——第三章
- CF632A Grandma Laura and Apples