android studio3.0中使用菜单选项调用摄像头扫描二维码及条形码
时间: 2023-11-24 11:49:15 浏览: 145
在Android Studio 3.0中,可以通过使用Zxing开源代码库来实现条形码和二维码扫描。以下是使用菜单选项调用摄像头扫描二维码及条形码的步骤:
1. 在build.gradle文件中添加以下依赖项:
dependencies {
compile 'com.google.zxing:core:3.3.0'
compile 'com.journeyapps:zxing-android-embedded:3.5.0'
}
2. 在AndroidManifest.xml文件中添加以下权限:
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
3. 在布局文件中添加一个SurfaceView和一个Button:
<SurfaceView
android:id="@+id/preview"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<Button
android:id="@+id/scan_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Scan"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" />
4. 在MainActivity.java文件中添加以下代码:
public class MainActivity extends AppCompatActivity implements ZXingScannerView.ResultHandler {
private ZXingScannerView mScannerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mScannerView = new ZXingScannerView(this);
setContentView(mScannerView);
Button scanButton = (Button) findViewById(R.id.scan_button);
scanButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mScannerView.setResultHandler(MainActivity.this);
mScannerView.startCamera();
}
});
}
@Override
public void onPause() {
super.onPause();
mScannerView.stopCamera();
}
@Override
public void handleResult(Result result) {
Toast.makeText(this, result.getText(), Toast.LENGTH_SHORT).show();
mScannerView.resumeCameraPreview(this);
}
}
5. 运行应用程序并点击“Scan”按钮,然后将摄像头对准二维码或条形码即可扫描。
阅读全文