第一件事:在2个不同的HTC Desires上发生以下错误,一个是2.3.3,另一个是4.0.4.
尝试调用时,我收到以下错误消息.takePicture:
E/MemoryHeapBase(104): error opening /dev/pmem_camera: No such file or directory
E/QualcommCameraHardware(104): failed to construct master heap for pmem pool /dev/pmem_camera
E/QualcommCameraHardware(104): initSnapshot X failed with pmem_camera, trying with pmem_adsp
Run Code Online (Sandbox Code Playgroud)
在此错误之后永远不会调用相应的PictureCallback.
我能找到的唯一解释是a)没有调用startPreview; b)尝试拍摄太快(在调用图片回调之前); c)未设置正确的使用/权限
我在这里,在我的FullscreenActivity的onResume()中执行a):
//open the camera resource
cam = Camera.open();
Camera.Parameters params = cam.getParameters();
//change Parameters
params.setJpegQuality(100);//best quality
params.setFlashMode(Parameters.FLASH_MODE_TORCH);
//params.setZoom(2);
List<Size> supportedPreviewSizes = cam.getParameters().getSupportedPreviewSizes();
params.setPreviewSize(supportedPreviewSizes.get(0).width, supportedPreviewSizes.get(0).height);
cam.setParameters(params);
SurfaceView sv = (SurfaceView)this.findViewById(R.id.surfaceView1);
SurfaceHolder mHolder = sv.getHolder();
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mHolder.setSizeFromLayout();
mHolder.addCallback(this);
try {
cam.setPreviewDisplay(mHolder);
} catch (IOException e) …Run Code Online (Sandbox Code Playgroud)