Los*_*ost 1 camera android android-intent android-camera
我正在尝试使用以下代码打开相机应用程序:
Camera camera = Camera.open();
Parameters p = camera.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_ON);
camera.setParameters(p);
camera.startPreview();
camera.release();
Run Code Online (Sandbox Code Playgroud)
它不会抛出任何错误,但它也不会打开相机.无论是否使用camera.release()选项我都试过了.有什么我做错了吗?
确保清单中存在相关权限.
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
Run Code Online (Sandbox Code Playgroud)
根据谷歌开发:
重要提示:将完全初始化的SurfaceHolder传递给setPreviewDisplay(SurfaceHolder).没有表面,相机将无法启动预览.
确保您的Activity实现了SurfaceHolder.Callback
Camera camera = Camera.open();
Parameters p = camera.getParameters();
p.setFlashMode(Parameters.FLASH_MODE_ON);
camera.setParameters(p);
SurfaceView surfaceView = (SurfaceView)findViewById(R.id.surfaceView1); //add this to your xml view
SurfaceHolder surfaceHolder = surfaceView.getHolder()
surfaceHolder.addCallback(this);
camera.setPreviewDisplay(surfaceHolder);
camera.startPreview();
Run Code Online (Sandbox Code Playgroud)
或者,如果您只想打开任何相机应用程序,请使用:
Intent newCameraApp = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(newCameraApp , 1337);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2730 次 |
| 最近记录: |