Android - 拍照服务

时间:2015-06-01 10:41:36

标签: android service camera

我正在尝试开发一款可以在点亮屏幕时拍照的应用。 我创建了不同的方法,以及不同的日志。当我调用该方法时应该拍照:这是在服务

public void photo() {
    try {
        cam.setPreviewDisplay(new SurfaceView(this).getHolder());
        cam.startPreview();
        cam.takePicture(null,null,new PhotoHandler());
        Log.i("photo","end");
    }catch(IOException e) {e.printStackTrace();}
}

在日志中,"照片","结束"显示,但我放入 PhotoHandler 的日志不是。
我也有#34;相机" " app传递了NULL Surface"登录。 所以我问你们为什么照片没拍? PhotoHandler 工作正常,我在一个基本的应用程序中进行了测试 希望你能帮帮我! 编辑:在服务的onCreate方法中选择了摄像机并且没有错误。
编辑:问题是我的 PhotoHandler 也没有被称为camera.release()。我的照片()方法现在看起来像这样

public void photo() {
    Camera cam=null;
    try {
        cam=Camera.open(Camera.CameraInfo.CAMERA_FACING_FRONT);
        cam.setPreviewTexture(new SurfaceTexture(0));
        cam.startPreview();
        cam.takePicture(null,null,new PhotoHandler());
        cam.stopPreview();
        cam.release();
        Log.i("photo","end");
    }catch(IOException e) {e.printStackTrace();stopSelf();}
    catch(RuntimeException re {e.printStackTrace();stopSelf();}

现在,问题是当服务结束时调用takePicture方法,必须是我假设的线程问题。但更令人烦恼的是,在服务结束后并不总是调用takePicture方法。当调用该方法时,它被调用一次,而我在服务期间不止一次点亮屏幕。

0 个答案:

没有答案