二维码扫描

来源:互联网 发布:b2b源码授权费用 编辑:程序博客网 时间:2024/05/29 19:13


权限

<uses-permission android:name="android.permission.CAMERA" /><uses-permission android:name="android.permission.INTERNET" />


main布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context="com.bwie.asus.erweima.MainActivity">    <Button        android:id="@+id/button"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="扫描"        /></LinearLayout>

second布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical"    tools:context="com.bwie.asus.erweima.SecondActivity">    <com.mylhyl.zxing.scanner.ScannerView        android:id="@+id/scanner_view"        android:layout_width="match_parent"        android:layout_height="match_parent">    </com.mylhyl.zxing.scanner.ScannerView></LinearLayout>
MainActivi类
package com.bwie.asus.erweima;import android.content.Intent;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Toast;public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                Intent intent = new Intent(MainActivity.this,SecondActivity.class);                startActivityForResult(intent,100);            }        });    }    @Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {        super.onActivityResult(requestCode, resultCode, data);        if (requestCode == 100 && resultCode == 200){            String text = data.getStringExtra("text");            Toast.makeText(MainActivity.this,"扫描成功",Toast.LENGTH_SHORT).show();        }    }}

SecondActivi类

package com.bwie.asus.erweima;import android.content.Intent;import android.graphics.Bitmap;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import com.google.zxing.Result;import com.google.zxing.client.result.ParsedResult;import com.mylhyl.zxing.scanner.OnScannerCompletionListener;import com.mylhyl.zxing.scanner.ScannerView;public class SecondActivity extends AppCompatActivity {    private ScannerView mScannerView;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_second);        mScannerView = (ScannerView) findViewById(R.id.scanner_view);        mScannerView.setOnScannerCompletionListener(new OnScannerCompletionListener() {            @Override            public void OnScannerCompletion(Result rawResult, ParsedResult parsedResult, Bitmap barcode) {                String text = rawResult.getText();                Intent intent = new Intent();                intent.putExtra("text",text);                setResult(200,intent);                finish();            }        });    }    @Override    protected void onResume() {        mScannerView.onResume();        super.onResume();    }    @Override    protected void onPause() {        mScannerView.onPause();        super.onPause();    }}