本文實例為大家分享了Android掃描和生成二維碼的具體代碼,供大家參考,具體內容如下
MainActivity.java
public class MainActivity extends AppCompatActivity { private ImageView mImageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button =findViewById(R.id.btn); mImageView =findViewById(R.id.img); button.setOnClickListener(new View.OnClickListener() { //點擊按鈕掃描二維碼 @Override public void onClick(View view) { Intent intent = new Intent(MainActivity.this,CaptureActivity.class); startActivityForResult(intent,2); } }); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode==200&& resultCode==RESULT_OK){ if (data!=null){ String content = data.getStringExtra(Constant.CODED_CONTENT); if (TextUtils.isEmpty(content)){ Toast.makeText(MainActivity.this, "您的輸入為空!", Toast.LENGTH_SHORT).show(); return; } Bitmap logo = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher); try { Bitmap bitmap = CodeCreator.createQRCode(content, 400, 400, logo); mImageView.setImageBitmap(bitmap); } catch (WriterException e) { e.printStackTrace(); } Toast.makeText(MainActivity.this,"掃描"+content,Toast.LENGTH_SHORT).show(); } } }}
activity.main.xml
<android.support.constraint.ConstraintLayout 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" tools:context=".MainActivity" android:orientation="vertical"> <Button android:id="@+id/btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="掃一掃"/> <ImageView android:id="@+id/img" android:layout_width="wrap_content" android:layout_height="wrap_content" /></android.support.constraint.ConstraintLayout>
需要配置的權限
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.CAMERA"></uses-permission> <uses-permission android:name="android.permission.VIBRATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> <uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera.autofocus" /> <uses-permission android:name="android.permission.FLASHLIGHT" />
build.gradle
minSdkVersion 16 //配置16implementation'com.github.yuzhiqiang1993:zxing:2.2.1' //依賴
外部build.gradle
allprojects { repositories { google() jcenter() maven { url 'https://jitpack.io' } //加這行代碼 }}
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答