日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android 扫描二维码demo

發布時間:2023/12/10 Android 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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>

總結

以上是生活随笔為你收集整理的Android 扫描二维码demo的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。