zxing을 이용하여 QR코드 스캐너 기능을 다뤄보도록 하겠습니다.
[1단계] gradle(module)에 아래의 소스코드 넣기 *Sync now를 하셔야 2단계가 가능*
implementation('com.journeyapps:zxing-android-embedded:3.6.0') { transitive = false }
implementation 'com.google.zxing:core:3.3.0'
[2단계] 스캐너 실행하기
IntentIntegrator integrator = new IntentIntegrator(this);
integrator.initiateScan();
[3단계] 결과값 받아오기(예시)
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if(result != null) {
if(result.getContents() == null) {
Toast.makeText(this, "Error", Toast.LENGTH_LONG).show();
} else {
Intent intent = new Intent(ScanActivity.this, BarCodeSearch.class); // 새로운 액티비티
intent.putExtra("RESULT", result.getContents()); // 결과값을 RESULT라는 태그로 전달
startActivity(intent);
}
} else {
super.onActivityResult(requestCode, resultCode, data);
}
}