超簡單ZXing掃描二維碼條形碼
阿新 • • 發佈:2018-12-08
首先在build.gradle寫上方法
repositories {
mavenCentral()
maven {
url "http://dl.bintray.com/journeyapps/maven"
}
}
然後還是在這個檔案內加上依賴
implementation 'com.journeyapps:zxing-android-embedded:[email protected]'
implementation 'com.journeyapps:zxing-android-legacy:[email protected]'
implementation 'com.journeyapps:zxing-android-integration: [email protected]'
implementation 'com.google.zxing:core:3.0.1'
許可權也是必須的
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
佈局就搞一個BUTTON就好了
Activity裡搞一下
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button but_zing = findViewById(R.id.but_zing); but_zing.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (ActivityCompat.checkSelfPermission(MainActivity.this,Manifest.permission.CAMERA)==PackageManager.PERMISSION_GRANTED){ //掃描操作 IntentIntegrator integrator = new IntentIntegrator(MainActivity.this); integrator.initiateScan(); }else{ ActivityCompat.requestPermissions(MainActivity.this,new String[]{Manifest.permission.CAMERA},100); } } }); } @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (requestCode==100){ if (grantResults[0]==PackageManager.PERMISSION_GRANTED){ Toast.makeText(MainActivity.this,"許可權開啟",Toast.LENGTH_SHORT).show(); }else{ finish(); } } } protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, data); if (scanResult != null) { String result = scanResult.getContents(); Log.d("code", result); //變數result就是二維碼解碼後的資訊。 Toast.makeText(this,result, Toast.LENGTH_LONG).show(); } } }