Android 扫描二维码demo

demo下载链接:https://download.csdn.net/download/meixi_android/10779714

zxing依赖:

compile 'cn.yipianfengye.android:zxing-library:2.2'

扫描类:

 

/*** 作者:created by meixi* 邮箱:13164716840@163.com* 日期:2018/9/17 08*/
public class TwoActivity extends AppCompatActivity {private CaptureFragment captureFragment;@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_second);captureFragment = new CaptureFragment();// 为二维码扫描界面设置定制化界面CodeUtils.setFragmentArgs(captureFragment, R.layout.my_camera);captureFragment.setAnalyzeCallback(analyzeCallback);getSupportFragmentManager().beginTransaction().replace(R.id.fl_my_container, captureFragment).commit();}/*** 二维码解析回调函数*/CodeUtils.AnalyzeCallback analyzeCallback = new CodeUtils.AnalyzeCallback() {@Overridepublic void onAnalyzeSuccess(Bitmap mBitmap, String result) {Intent resultIntent = new Intent();Bundle bundle = new Bundle();bundle.putInt(CodeUtils.RESULT_TYPE, CodeUtils.RESULT_SUCCESS);bundle.putString(CodeUtils.RESULT_STRING, result);resultIntent.putExtras(bundle);TwoActivity.this.setResult(RESULT_OK, resultIntent);TwoActivity.this.finish();}@Overridepublic void onAnalyzeFailed() {Intent resultIntent = new Intent();Bundle bundle = new Bundle();bundle.putInt(CodeUtils.RESULT_TYPE, CodeUtils.RESULT_FAILED);bundle.putString(CodeUtils.RESULT_STRING, "");resultIntent.putExtras(bundle);TwoActivity.this.setResult(RESULT_OK, resultIntent);TwoActivity.this.finish();}};
}

mainactivity跳转到扫描类以及扫描结果回调、

public static final int REQUEST_CODE = 111;

 默认扫描类

Intent intent = new Intent(getApplication(), CaptureActivity.class);
startActivityForResult(intent, REQUEST_CODE);

自定义扫描类

Intent intent = new Intent(MainActivity.this, TwoActivity.class);
startActivityForResult(intent, REQUEST_CODE);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {/*** 处理二维码扫描结果*/if (requestCode == REQUEST_CODE) {//处理扫描结果(在界面上显示)if (null != data) {Bundle bundle = data.getExtras();if (bundle == null) {return;}if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_SUCCESS) {String result = bundle.getString(CodeUtils.RESULT_STRING);Toast.makeText(this, "解析结果:" + result, Toast.LENGTH_LONG).show();} else if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_FAILED) {Toast.makeText(MainActivity.this, "解析二维码失败", Toast.LENGTH_LONG).show();}}}}

 

 

 

1、文件activity_second.xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/activity_second"android:layout_width="match_parent"android:layout_height="match_parent"><FrameLayoutandroid:id="@+id/fl_my_container"android:layout_width="match_parent"android:layout_height="match_parent"android:visibility="visible"></FrameLayout></FrameLayout>

2、文件my_camera.xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:layout_width="fill_parent"android:layout_height="fill_parent" ><SurfaceViewandroid:id="@+id/preview_view"android:layout_width="wrap_content"android:layout_height="wrap_content"/><com.uuzuche.lib_zxing.view.ViewfinderViewandroid:id="@+id/viewfinder_view"android:layout_width="wrap_content"android:layout_height="wrap_content"app:inner_width="200dp"app:inner_height="200dp"app:inner_margintop="150dp"app:inner_corner_color="@color/scan_corner_color"app:inner_corner_length="30dp"app:inner_corner_width="5dp"app:inner_scan_bitmap="@drawable/scan_image"app:inner_scan_speed="10"app:inner_scan_iscircle="false"/></FrameLayout>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/415180.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端学习(2666):完成vue3.0的todolist编辑

1点击编辑 2编辑逻辑 3进入编辑状态

课后作业-团队编程项目总结

成员&#xff1a;王志昂&#xff08;组长&#xff09; 郑 月 李古宇 孙晨旭 鞠牧孜 程冠菲 项目名称&#xff1a;吃货之家 早在商朝末年&#xff0c;太公望(别名:姜太公&#xff0c;姜子牙)在营丘之战时所创制的太公望红焖鸡&#xff0c;在姜太公建立齐国后&#xff0c;红焖鸡(…

前端学习(2667):退出编辑状态

1逻辑实现 2加上myinput 3判断myinput 调整元素 4

前端学习(2668):删除功能

1定义删除 2删除方法 3删除演示

SICK TiM561激光雷达的使用

TIM系列激光扫描传感器原理&#xff1a; 激光发射器发出激光脉冲&#xff0c;当激光碰到物体后&#xff0c;部分激光反射回激光接收器。通过计算发射/接收脉冲时间差&#xff0c;可以计算出距离值。激光扫描器连续不停的发射激光脉冲&#xff0c;由旋转的光学机构将激光脉冲按一…

记一次MySQL手工注入

本来想找个装安全狗的站试下绕过&#xff0c;safe dog没找到&#xff0c;但随便一搜搜到一个小站有SQLi&#xff0c;正好借此机会复习下手工注入&#xff08;新版Firefox我吐槽一下&#xff0c;hackbar这么好用的工具&#xff0c;说阉割就阉割&#xff0c;哎&#xff09; 小站没…

Netcdf对数据进行裁剪

对三维数据进行裁剪 List<Range> tyxRanges new ArrayList<>(); tyxRanges.add(new Range(null,0,12)); tyxRanges.add(new Range(null,0,12)); tyxRanges.add(new Range(null,0,12)); Array varData varObject.read(tyxRanges); ncWrite.write(varVar, varData…

Android: 解决动画完成后位置恢复到初始位置的问题

今天在使用TranslateAnimation位移一个LinearLayout时&#xff0c;发现动画完成后又会自动回到初始的状态&#xff0c;设置了fillAfter也不太管用。 仔细研究了一下&#xff0c;发现&#xff1a; 这种现象很正常&#xff0c;因为TranslateAnimation只负责实现位移动画效果&…

Android GridView,recycleview,栅格布局

<color name"gray_b7">#F5F5F5</color>//activity背景色&#xff0c;itemview底部&#xff08;横向栅格条&#xff09;背景色&#xff0c;itemview主色白 设置竖向栅格条 adapter中设置 int w MainApplication.getnScreenWidth();holder.itemView.set…

Android 微信分享

起调效果 分享到朋友 分享到朋友圈 分享效果&#xff1a; 1、登录 微信开发平台 创建Android应用 微信开放平台&#xff1a;https://open.weixin.qq.com/cgi-bin/index?thome/ind…

Liunx 重定向,管道符(转)

原作网址&#xff1a;http://blog.csdn.net/qq_16811963/article/details/52997178 输出重定向 >代表以覆盖的方式将命令的正确输出输出到指定的文件或设备当中。 >>代表以追加方式输出。 常用的输出重定向&#xff1a; 1.命令 >> 文件 2>&1 :以追加的方…