首页

安卓扫描二维码以及解析

java

2020-6-21

该APP用于安卓扫描解析二维码




package com.example.ahui.qrcodeaction;

import android.Manifest;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.hardware.Camera;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.text.SpannableString;
import android.text.style.UnderlineSpan;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

import com.blankj.utilcode.util.ToastUtils;
import com.yzq.zxinglibrary.android.CaptureActivity;
import com.yzq.zxinglibrary.common.Constant;
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
    private Button copyNow;
    private EditText  scanText;
    private int REQUEST_CODE_SCAN = 1;

    //应用所有进入一起申请的权限
    public static String[] permissions = new String[]{
            Manifest.permission.WRITE_EXTERNAL_STORAGE,
            Manifest.permission.READ_EXTERNAL_STORAGE,
            Manifest.permission.CAMERA,
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        copyNow = findViewById(R.id.copyNow);
        copyNow.setOnClickListener(this);
        scanText = findViewById(R.id.scanText);

        if (!checkSelfPermission(this,permissions))
        {
            ActivityCompat.requestPermissions(this, permissions, 0);
        }

    }


    public static boolean checkSelfPermission(Context contexts, String[] permission) {

        for (int i = 0; i < permission.length; i  ) {
            if (ContextCompat.checkSelfPermission(contexts, permission[i]) != PackageManager.PERMISSION_GRANTED) {
                return false;
            }
        }
        return true;
    }


    public static boolean isCameraUseable() {

        boolean canUse =true;

        Camera mCamera = null;

        try{

            mCamera = Camera.open();

// setParameters 是针对魅族MX5。MX5通过Camera.open()拿到的Camera对象不为null

            Camera.Parameters mParameters = mCamera.getParameters();

            mCamera.setParameters(mParameters);

        }catch(Exception e) {

            canUse =false;

        }

        if(mCamera !=null) {
            mCamera.release();
        }
        return canUse;
    }



    public void QRAction(View view)
    {
        Intent intent = new Intent(MainActivity.this, CaptureActivity.class);
        startActivityForResult(intent, REQUEST_CODE_SCAN);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.copyNow:
            {

                final ClipboardManager clipboardManager = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
                clipboardManager.addPrimaryClipChangedListener(new ClipboardManager.OnPrimaryClipChangedListener() {
                    @Override
                    public void onPrimaryClipChanged() {
                        ToastUtils.showShort("复制成功");
                    }
                });

                ClipData clipData = ClipData.newPlainText("", scanText.getText());
                clipboardManager.setPrimaryClip(clipData);
            }
                break;
                default:
                    break;

        }
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        // 扫描二维码/条码回传
        if (requestCode == REQUEST_CODE_SCAN && resultCode == RESULT_OK) {
            if (data != null) {

                String content = data.getStringExtra(Constant.CODED_CONTENT);

                SpannableString contents = new SpannableString(content);
                contents.setSpan((new UnderlineSpan()), 0, content.length(), 0);

                scanText.setText(contents);
                scanText.setSelection(contents.length());
            }
        }
    }
}

资源下载此资源下载价格为3D币(VIP免费),请先
资源文件列表
QRCodeScan/.DS_Store , 6148
__MACOSX/QRCodeScan/._.DS_Store , 120
QRCodeScan/app/app.iml , 15323
QRCodeScan/app/proguard-rules.pro , 751
QRCodeScan/app/.gitignore , 7
QRCodeScan/app/build.gradle , 1158
QRCodeScan/app/build/generated/res/pngs/release/drawable-xhdpi/ic_launcher_background.png , 1236
QRCodeScan/app/build/generated/res/pngs/release/drawable-xxhdpi/ic_launcher_background.png , 2820
QRCodeScan/app/build/generated/res/pngs/release/drawable-hdpi/ic_launcher_background.png , 830
QRCodeScan/app/build/generated/res/pngs/release/drawable-ldpi/ic_launcher_background.png , 329
QRCodeScan/app/build/generated/res/pngs/release/drawable-anydpi-v21/ic_launcher_background.xml , 5606
QRCodeScan/app/build/generated/res/pngs/release/drawable-mdpi/ic_launcher_background.png , 406
QRCodeScan/app/build/generated/res/pngs/release/drawable-xxxhdpi/ic_launcher_background.png , 4708
QRCodeScan/app/build/generated/res/pngs/debug/drawable-xhdpi/ic_launcher_background.png , 1236
QRCodeScan/app/build/generated/res/pngs/debug/drawable-xxhdpi/ic_launcher_background.png , 2820
QRCodeScan/app/build/generated/res/pngs/debug/drawable-hdpi/ic_launcher_background.png , 830
QRCodeScan/app/build/generated/res/pngs/debug/drawable-ldpi/ic_launcher_background.png , 329
QRCodeScan/app/build/generated/res/pngs/debug/drawable-anydpi-v21/ic_launcher_background.xml , 5606
QRCodeScan/app/build/generated/res/pngs/debug/drawable-mdpi/ic_launcher_background.png , 406
QRCodeScan/app/build/generated/res/pngs/debug/drawable-xxxhdpi/ic_launcher_background.png , 4708
QRCodeScan/app/build/generated/source/buildConfig/release/com/example/ahui/qrcodeaction/BuildConfig.java , 444
QRCodeScan/app/build/generated/source/buildConfig/debug/com/example/ahui/qrcodeaction/BuildConfig.java , 465
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/androidx/versionedparcelable/R.java , 268
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/support/coreutils/R.java , 10456
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/support/design/R.java , 186357
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/support/transition/R.java , 11123
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/support/asynclayoutinflater/R.java , 10466
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/support/v7/viewpager/R.java , 10459
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/support/v7/recyclerview/R.java , 14564
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/support/v7/appcompat/R.java , 120814
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/support/v7/cardview/R.java , 3195
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/support/compat/R.java , 10453
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/support/drawerlayout/R.java , 10459
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/support/interpolator/R.java , 268
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/support/coreui/R.java , 12395
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/support/documentfile/R.java , 268
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/support/print/R.java , 261
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/support/localbroadcastmanager/R.java , 277
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/support/cursoradapter/R.java , 269
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/support/v4/R.java , 258
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/support/swiperefreshlayout/R.java , 10465
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/support/fragment/R.java , 12397
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/support/loader/R.java , 10453
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/support/customview/R.java , 10457
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/support/slidingpanelayout/R.java , 10464
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/support/graphics/drawable/R.java , 12406
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/support/coordinatorlayout/R.java , 12406
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/support/mediacompat/R.java , 267
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/support/constraint/R.java , 19207
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/arch/core/R.java , 257
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/arch/lifecycle/viewmodel/R.java , 272
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/arch/lifecycle/livedata/core/R.java , 276
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/arch/lifecycle/livedata/R.java , 271
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/android/arch/lifecycle/R.java , 262
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/com/yzq/zxinglibrary/R.java , 3119
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/com/example/ahui/qrcodeaction/R.java , 964882
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/release/processReleaseResources/r/com/blankj/utilcode/R.java , 536
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/androidx/versionedparcelable/R.java , 268
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/coreutils/R.java , 10456
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/design/R.java , 186357
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/transition/R.java , 11123
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/asynclayoutinflater/R.java , 10466
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/v7/viewpager/R.java , 10459
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/v7/recyclerview/R.java , 14564
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/v7/appcompat/R.java , 120814
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/v7/cardview/R.java , 3195
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/compat/R.java , 10453
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/drawerlayout/R.java , 10459
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/interpolator/R.java , 268
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/coreui/R.java , 12395
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/documentfile/R.java , 268
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/print/R.java , 261
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/localbroadcastmanager/R.java , 277
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/cursoradapter/R.java , 269
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/v4/R.java , 258
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/swiperefreshlayout/R.java , 10465
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/fragment/R.java , 12397
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/loader/R.java , 10453
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/customview/R.java , 10457
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/slidingpanelayout/R.java , 10464
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/graphics/drawable/R.java , 12406
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/coordinatorlayout/R.java , 12406
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/mediacompat/R.java , 267
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/support/constraint/R.java , 19207
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/arch/core/R.java , 257
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/arch/lifecycle/viewmodel/R.java , 272
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/arch/lifecycle/livedata/core/R.java , 276
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/arch/lifecycle/livedata/R.java , 271
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/android/arch/lifecycle/R.java , 262
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/com/yzq/zxinglibrary/R.java , 3119
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/com/example/ahui/qrcodeaction/R.java , 964882
QRCodeScan/app/build/generated/not_namespaced_r_class_sources/debug/processDebugResources/r/com/blankj/utilcode/R.java , 536
QRCodeScan/app/build/intermediates/res/symbol-table-with-package/release/package-aware-r.txt , 80682
QRCodeScan/app/build/intermediates/res/symbol-table-with-package/debug/package-aware-r.txt , 80682
QRCodeScan/app/build/intermediates/res/merged/release/layout_design_layout_tab_icon.xml.flat , 568
QRCodeScan/app/build/intermediates/res/merged/release/drawable-xxhdpi-v4_abc_ic_menu_selectall_mtrl_alpha.png.flat , 524
QRCodeScan/app/build/intermediates/res/merged/release/layout_notification_action_tombstone.xml.flat , 2512
QRCodeScan/app/build/intermediates/res/merged/release/values-ur_values-ur.arsc.flat , 2468
QRCodeScan/app/build/intermediates/res/merged/release/layout_abc_screen_toolbar.xml.flat , 2340
QRCodeScan/app/build/intermediates/res/merged/release/drawable_notification_icon_background.xml.flat , 500
QRCodeScan/app/build/intermediates/res/merged/release/drawable_design_password_eye.xml.flat , 612
QRCodeScan/app/build/intermediates/res/merged/release/mipmap-hdpi_ic_launcher_round.png.flat , 5064
QRCodeScan/app/build/intermediates/res/merged/release/values-pa_values-pa.arsc.flat , 2464
QRCodeScan/app/build/intermediates/res/merged/release/values-pt-rBR_values-pt-rBR.arsc.flat , 2396
QRCodeScan/app/build/intermediates/res/merged/release/values-as_values-as.arsc.flat , 2860
QRCodeScan/app/build/intermediates/res/merged/release/drawable-xhdpi-v4_abc_popup_background_mtrl_mult.9.png.flat , 1800
QRCodeScan/app/build/intermediates/res/merged/release/values-fi_values-fi.arsc.flat , 2256
QRCodeScan/app/build/intermediates/res/merged/release/drawable-xhdpi-v4_abc_btn_switch_to_on_mtrl_00001.9.png.flat , 1788
QRCodeScan/app/build/intermediates/res/merged/release/drawable-hdpi-v4_abc_text_select_handle_right_mtrl_dark.png.flat , 536
QRCodeScan/app/build/intermediates/res/merged/release/drawable_abc_ratingbar_small_material.xml.flat , 1040
QRCodeScan/app/build/intermediates/res/merged/release/drawable-ldrtl-xxhdpi-v17_abc_spinner_mtrl_am_alpha.9.png.flat , 784
QRCodeScan/app/build/intermediates/res/merged/release/values-uk_values-uk.arsc.flat , 2468
QRCodeScan/app/build/intermediates/res/merged/release/drawable-mdpi-v4_abc_btn_switch_to_on_mtrl_00012.9.png.flat , 1088
QRCodeScan/app/build/intermediates/res/merged/release/drawable_edit_bg.xml.flat , 816
QRCodeScan/app/build/intermediates/res/merged/release/drawable-v24_ic_launcher_foreground.xml.flat , 3036
QRCodeScan/app/build/intermediates/res/merged/release/layout_abc_tooltip.xml.flat , 1888
QRCodeScan/app/build/intermediates/res/merged/release/anim_abc_popup_exit.xml.flat , 704
QRCodeScan/app/build/intermediates/res/merged/release/drawable-mdpi-v4_abc_list_selector_disabled_holo_light.9.png.flat , 492
QRCodeScan/app/build/intermediates/res/merged/release/drawable_abc_seekbar_thumb_material.xml.flat , 1660
QRCodeScan/app/build/intermediates/res/merged/release/drawable-xhdpi-v4_abc_cab_background_top_mtrl_alpha.9.png.flat , 496
QRCodeScan/app/build/intermediates/res/merged/release/layout_notification_template_part_time.xml.flat , 720
QRCodeScan/app/build/intermediates/res/merged/release/values-ka_values-ka.arsc.flat , 2684
QRCodeScan/app/build/intermediates/res/merged/release/anim_abc_tooltip_exit.xml.flat , 588
QRCodeScan/app/build/intermediates/res/merged/release/drawable-hdpi-v4_abc_ic_menu_cut_mtrl_alpha.png.flat , 652
QRCodeScan/app/build/intermediates/res/merged/release/drawable-xxhdpi-v4_abc_ic_menu_share_mtrl_alpha.png.flat , 952
QRCodeScan/app/build/intermediates/res/merged/release/mipmap-xhdpi_ic_launcher_round.png.flat , 7056
QRCodeScan/app/build/intermediates/res/merged/release/layout_design_navigation_item_separator.xml.flat , 732
QRCodeScan/app/build/intermediates/res/merged/release/drawable-xxhdpi-v4_abc_textfield_search_default_mtrl_alpha.9.png.flat , 464
QRCodeScan/app/build/intermediates/res/merged/release/values-iw_values-iw.arsc.flat , 2340
QRCodeScan/app/build/intermediates/res/merged/release/drawable-mdpi-v4_notify_panel_notification_icon_bg.png.flat , 364
QRCodeScan/app/build/intermediates/res/merged/release/values-bs_values-bs.arsc.flat , 2304
QRCodeScan/app/build/intermediates/res/merged/release/color_abc_background_cache_hint_selector_material_light.xml.flat , 664
QRCodeScan/app/build/intermediates/res/merged/release/drawable-ldrtl-xxxhdpi-v17_abc_ic_menu_cut_mtrl_alpha.png.flat , 1168
QRCodeScan/app/build/intermediates/res/merged/release/color_switch_thumb_material_light.xml.flat , 644
QRCodeScan/app/build/intermediates/res/merged/release/values-watch-v21_values-watch-v21.arsc.flat , 892
QRCodeScan/app/build/intermediates/res/merged/release/drawable-v21_avd_hide_password.xml.flat , 4068
QRCodeScan/app/build/intermediates/res/merged/release/drawable-xxxhdpi-v4_abc_switch_track_mtrl_alpha.9.png.flat , 1068
QRCodeScan/app/build/intermediates/res/merged/release/drawable-xhdpi-v4_abc_ic_commit_search_api_mtrl_alpha.png.flat , 492
QRCodeScan/app/build/intermediates/res/merged/release/color-v23_abc_tint_seek_thumb.xml.flat , 688
QRCodeScan/app/build/intermediates/res/merged/release/values-mk_values-mk.arsc.flat , 2564
QRCodeScan/app/build/intermediates/res/merged/release/drawable-xhdpi-v4_abc_list_pressed_holo_light.9.png.flat , 464
QRCodeScan/app/build/intermediates/res/merged/release/drawable-xxhdpi-v4_abc_btn_switch_to_on_mtrl_00012.9.png.flat , 3096
QRCodeScan/app/build/intermediates/res/merged/release/anim_abc_slide_out_top.xml.flat , 600
QRCodeScan/app/build/intermediates/res/merged/release/drawable-xxxhdpi-v4_abc_ic_star_half_black_16dp.png.flat , 628
QRCodeScan/app/build/intermediates/res/merged/release/drawable_ic_back.xml.flat , 832
QRCodeScan/app/build/intermediates/res/merged/release/drawable_abc_ratingbar_material.xml.flat , 1028
QRCodeScan/app/build/intermediates/res/merged/release/drawable_notification_bg_low.xml.flat , 804
QRCodeScan/app/build/intermediates/res/merged/release/values-h720dp-v13_values-h720dp-v13.arsc.flat , 296
QRCodeScan/app/build/intermediates/res/merged/release/layout_select_dialog_multichoice_material.xml.flat , 1640
QRCodeScan/app/build/intermediates/res/merged/release/drawable_abc_tab_indicator_material.xml.flat , 632
QRCodeScan/app/build/intermediates/res/merged/release/values-in_values-in.arsc.flat , 2252
最多只能显示150条信息!
没有账号? 忘记密码?

社交账号快速登录