整合zxing二维码扫描到应用中
1.下载libzxing文件
2.在已有项目中File ->New -> import Module 导入第一步下载的文件目录
3.解决冲突及异常
布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#87CEEB">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:orientation="horizontal">
<EditText
android:id="@+id/edit_lsh"
android:layout_width="0dp"
android:layout_weight="3"
android:layout_height="40dp"
android:textSize="18sp"
/>
<Button
android:id="@+id/btnSweep"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_weight="1"
android:text="扫描"/>
</LinearLayout>
</LinearLayout>
调用:
package com.liangxin.zxing2;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import android.Manifest;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import com.xys.libzxing.zxing.activity.CaptureActivity;
public class MainActivity extends AppCompatActivity {
EditText stringLSH;
Button btnSweep;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
requestPermissions();
stringLSH = this.findViewById(R.id.edit_lsh);
/*二维码扫描*/
btnSweep = this.findViewById(R.id.btnSweep);
btnSweep.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent sweep = new Intent(MainActivity.this, CaptureActivity.class);
startActivityForResult(sweep,1003);
}
});
}
@Override
public void onActivityResult(int requestCode , int resultCode , Intent data){
super.onActivityResult(requestCode , resultCode , data);
if (resultCode == RESULT_OK){
String result = data.getExtras().getString("result");
stringLSH.setText(result);
}
}/*申请手机权限,在oncreate()方法中调用*/
public void requestPermissions(){
String [] permissions = new String[]{
Manifest.permission.CAMERA,
Manifest.permission.RECORD_AUDIO,
Manifest.permission.VIBRATE, };
ActivityCompat.requestPermissions(MainActivity.this,permissions,100);}
}