jichangshuai / ScannerView

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ScannerView

初始化项目

Usage Demo:

Step 1:

<TextView
    android:id="@+id/button_view"
    android:gravity="center"
    android:layout_width="200dp"
    android:layout_height="48dp"
    android:text="扫一扫"
    android:textSize="16dp"
    android:textColor="#ffffff"
    android:background="#4285f4"/>

Step 2:

    private TextView button_view;
    ...
    public class MainActivity extends AppCompatActivity implements OnResultEventListener {
    ...
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    button_view = findViewById(R.id.button_view);
    button_view.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if(ContextCompat.checkSelfPermission(
                        MainActivity.this,
                        Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED){
                        Intent intent = new Intent(MainActivity.this, CaptureActivity.class);
                        startActivityForResult(intent, 100);
                }else{
                    requestPermission();
                }
            }
    });

    private void requestPermission(){
        requestPermissions(new String[]{Manifest.permission.CAMERA}, 1);
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        switch (requestCode){
            case 1:
                if(ContextCompat.checkSelfPermission(this,
                        Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED){
                    Intent intent = new Intent(MainActivity.this, CaptureActivity.class);
                    startActivityForResult(intent, 1);
                }else{
                    Toast.makeText(this, "只有允许相机权限才能使用", Toast.LENGTH_SHORT);
                }
                break;
        }
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(resultCode == RESULT_OK && data != null){
            switch (requestCode){
                case 100:
                    Bundle bundle = data.getExtras();
                    ResultModel resultModel = bundle.getParcelable("resultModel");
                    getResult(resultModel);
                    break;
            }
        }
    }

    @Override
    public void getResult(ResultModel resultModel) {
        try {

            String result = resultModel.getResult();
            ...

            Your logic code.

        } catch (JSONException exception){

        }
    }

About

License:Apache License 2.0


Languages

Language:Java 100.0%