Android的takePicture失败 [英] Android takePicture failed

查看:278
本文介绍了Android的takePicture失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直试图做一个摄像头应用程序为Android,但是当我试图拍照时,它的错误,我必须强制关闭。 在LogCat中是:

  12月7日至十四号:41:25.195:D / dalvikvm(13549):GC_EXPLICIT释放51K,49%免费2694K / 5187K,外部3474K / 4422K,暂停26ms
    12月7日至十四日:41:25.195:D / AndroidRuntime(13549):关闭虚拟机
    12月7日至十四日:41:25.195:W / dalvikvm(13549):主题ID = 1:螺纹退出与未捕获的异常(组= 0x4001e560)
    12月7日至十四日:41:25.226:E / AndroidRuntime(13549):致命异常:主要
    12月7日至十四日:41:25.226:E / AndroidRuntime(13549):java.lang.RuntimeException的:takePicture失败
    12月7日至十四日:41:25.226:E / AndroidRuntime(13549):在android.hardware.Camera.native_takePicture(本机方法)
    12月7日至十四日:41:25.226:E / AndroidRuntime(13549):在android.hardware.Camera.takePicture(Camera.java:829)
    12月7日至十四日:41:25.226:E / AndroidRuntime(13549):在android.hardware.Camera.takePicture(Camera.java:793)
    12月7日至十四日:41:25.226:E / AndroidRuntime(13549):在com.mvitsor.camerax.cameraMainActivity.takepic(cameraMainActivity.java:53)
    12月7日至十四日:41:25.226:E / AndroidRuntime(13549):在com.mvitsor.camerax.cameraMainActivity $ 5.onClick(cameraMainActivity.java:44)
    12月7日至十四日:41:25.226:E / AndroidRuntime(13549):在android.view.View.performClick(View.java:2485)
    12月7日至十四日:41:25.226:E / AndroidRuntime(13549):在android.view.View $ PerformClick.run(View.java:9089)
    12月7日至十四日:41:25.226:E / AndroidRuntime(13549):在android.os.Handler.handleCallback(Handler.java:587)
    12月7日至十四日:41:25.226:E / AndroidRuntime(13549):在android.os.Handler.dispatchMessage(Handler.java:92)
    12月7日至十四日:41:25.226:E / AndroidRuntime(13549):在android.os.Looper.loop(Looper.java:130)
    12月7日至十四日:41:25.226:E / AndroidRuntime(13549):在android.app.ActivityThread.main(ActivityThread.java:3859)
    12月7日至十四日:41:25.226:E / AndroidRuntime(13549):在java.lang.reflect.Method.invokeNative(本机方法)
    12月7日至十四日:41:25.226:E / AndroidRuntime(13549):在java.lang.reflect.Method.invoke(Method.java:507)
    12月7日至十四日:41:25.226:E / AndroidRuntime(13549):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:840)
    12月7日至十四日:41:25.226:E / AndroidRuntime(13549):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:598)
    12月7日至十四日:41:25.226:E / AndroidRuntime(13549):在dalvik.system.NativeStart.main(本机方法)
 

这里是code:

 包com.mvitsor.camerax;

    进口java.io.FileNotFoundException;
    进口java.io.FileOutputStream中;
    进口java.io.IOException异常;

    进口android.app.Activity;
    进口android.content.pm.ActivityInfo;
    进口android.graphics.PixelFormat;
    进口android.hardware.Camera;
    进口android.os.Bundle;
    进口android.util.Log;
    进口android.view.SurfaceHolder;
    进口android.view.SurfaceView;
    进口android.view.View;
    进口android.widget.ImageButton;
    进口android.widget.Toast;

    公共类cameraMainActivity延伸活动{
        / **第一次创建活动时调用。 * /
        摄像头摄像头;
        SurfaceView preVIEW;
        SurfaceHolder previewHolder;
        的ImageButton takePic;

        @覆盖
        公共无效的onCreate(包savedInstanceState){
            super.onCreate(savedInstanceState);
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
            的setContentView(R.layout.main_camera_layout);

            preVIEW =(SurfaceView)findViewById(R.id.SV preVIEW);
            previewHolder = preview.getHolder();
            previewHolder.addCallback(surfaceCallback);
            previewHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
            takePic =(的ImageButton)findViewById(R.id.btn_take_pic);

            takePic.setOnClickListener(新View.OnClickListener(){

                @覆盖
                公共无效的onClick(视图v){
                    takepic();
                }
            });
        }

        公共无效takepic(){
            camera.stop preVIEW();
            System.gc()的;
            camera.takePicture(NULL,NULL,photoCallback);
            //camera.takePicture(ShutterCallback,rawCallback,photoCallback);
        }

        私人Camera.Size getBest previewSize(INT宽度,高度INT,
                Camera.Parameters参数){
            Camera.Size结果= NULL;

            对于(Camera.Size大小:parameters.getSupported previewSizes()){
                如果(size.width< =宽度放大器;&安培; size.height< =身高){
                    如果(结果== NULL){
                        结果=大小;
                    } 其他 {
                        INT resultArea = result.width * result.height;
                        INT newArea = size.width * size.height;

                        如果(newArea> resultArea){
                            结果=大小;
                        }
                    }
                }
            }

            返回(结果);
        }

        SurfaceHolder.Callback surfaceCallback =新SurfaceHolder.Callback(){

            @覆盖
            公共无效surfaceCreated(SurfaceHolder持有者){
                相机= Camera.open();

                尝试 {
                    camera.set previewDisplay(previewHolder);
                }赶上(的Throwable T){
                    吐司面包= Toast.makeText(cameraMainActivity.this,
                            异常的一套previewDisplay,Toast.LENGTH_LONG);
                    toast.show();
                }
            }

            @覆盖
            公共无效surfaceChanged(SurfaceHolder持有人,INT格式,诠释的宽度,
                    INT高度){
                Camera.Parameters参数= camera.getParameters();

                Camera.Size bestSize = getBest previewSize(宽度,高度,参数);
                parameters.set previewSize(bestSize.width,bestSize.height);

                parameters.setPictureFormat(PixelFormat.JPEG);
                camera.setParameters(参数);
                camera.start preVIEW();
            }

            @覆盖
            公共无效surfaceDestroyed(SurfaceHolder持有者){
                camera.stop preVIEW();
                camera.release();
                摄像头= NULL;
            }

        };

        / *
        Camera.ShutterCallback ShutterCallback =新Camera.ShutterCallback(){
            公共无效onShutter(){
            }
        };

        PictureCallback rawCallback =新PictureCallback(){
            公共无效onPictureTaken(byte []的数据,摄像头摄像头){
            }
        };
        * /

        Camera.PictureCallback photoCallback =新Camera.PictureCallback(){
            公共无效onPictureTaken(byte []的数据,摄像头摄像头){
                //图像JPEG数据保存到SD卡
                FileOutputStream中outStream = NULL;
                尝试 {
                  outStream =新的FileOutputStream(/ SD卡/ test.jpg放在);
                  outStream.write(数据);
                  outStream.close();
                }赶上(FileNotFoundException异常E){
                  Log.d(照相机,e.getMessage());
                }赶上(IOException异常E){
                  Log.d(照相机,e.getMessage());
                }
                camera.start preVIEW();
                / *新SavePhotoTask()执行(数据)。
                camera.start preVIEW(); * /
            }
        };
    }
 

我都试过 camera.takePicture(NULL,NULL,photoCallback); camera.takePicture(ShutterCallback,rawCallback,photoCallback); ,你可以看到,我也读的地方,的System.gc(); 可以工作,但事实并非如此。 另外,我读了一个共同的问题是忘记拍照后重新启动preVIEW,但我打电话 camera.start preVIEW(); 之后,所以我真的不知道发生了什么事!

我在运行Android 2.3.3(摩托罗拉RAZR)。 (它看起来像很多人拥有在Android 2.3.3 ...问题相机)。

我会非常感激,如果有人可以帮助!

维托尔貂斯特恩利希特

  

我已经上传整个项目<一href="http://www.4shared.com/rar/meSWrQPm/CameraTest.html">http://www.4shared.com/rar/meSWrQPm/CameraTest.html

我下载了一个应用程序,显示此日志...也许有东西在这里可以帮助:它看起来像创建文件目录时发生问题。我该如何解决这个问题?

 十二月七号至15号:43:36.578 27203 27487W¯¯ActivityManager:强制完成活动com.mvitsor.camerax / .cameraMainActivity
    12月7号至15号:43:36.601 27203 27221W¯¯的ApplicationContext:无法创建文件目录
 

下面是完整的日志

  07-15 13:09:08.226 27203 27582W¯¯ActivityManager:强制完成活动com.mvitsor.camerax / .cameraMainActivity
    12月7号至15号:43:36.601 27203 27221W¯¯的ApplicationContext:无法创建文件目录
    07-15 13:09:08.414 27203 27221我ActivityManager:配置改变:{规模= 1.0 IMSI =一十分之七百二十四LOC = PT_BR触摸= 3键= 1/1/2 NAV = 1/1广州澳凌= 1布局= 268435490 uiMode = 17以次= 139}
    07-15 13:09:08.726 27203 27219W¯¯ActivityManager:活动暂停超时HistoryRecord {40562350 com.mvitsor.camerax / .cameraMainActivity}
    07-15 13:09:09.132 27203 27219我ActivityManager:不再想android.process.media(PID 11091):隐藏#21
    07-15 13:09:09.515 27203 27488我的WindowManager:WIN死亡:窗口{40d859a8 com.mvitsor.camerax / com.mvitsor.camerax.cameraMainActivity暂停= FALSE}
    07-15 13:09:09.515 27203 27499我ActivityManager:过程com.mvitsor.camerax(PID 11848)已经死亡。
    07-15 13:09:09.515 27203 27426我的WindowManager:WIN死亡:窗口{40ef8c70 SurfaceView暂停= FALSE}
    07-15 13:09:09.539 27203 27210我MotOverlay:disable_streaming_locked
    07-15 13:09:09.539 27203 27210我MotOverlay:销毁叠加/ FD = 300 / OBJ = 4650c000
    07-15 13:09:09.539 27498 24620ðIMirrorIpc:onTransact(2)
    07-15 13:09:09.539 27498 24620ðMirrorIpc:unregisterCallback:客户端0
    07-15 13:09:09.539 27498 24620ðMirrorUCMgrIpcCB:ipcInit  - 客户端已经存在
    07-15 13:09:09.539 27498 24620ðMirrorEngine:hdmiMirrorActiveOverlay / 0
    07-15 13:09:09.539 27174 11890ðOverlayDisplayAdapter:硬件/ TI / OMAP4 / OMAP3 /摄像机OMAP4 / src目录/ OverlayDisplayAdapter.cpp:714 processHalMsg  - 显示线程从相机HAL收到DISPLAY_EXIT命令。
    07-15 13:09:09.539 27174 11890ðOverlayDisplayAdapter:硬件/ TI / OMAP4 / OMAP3 /摄像机OMAP4 / src目录/ OverlayDisplayAdapter.cpp:715 processHalMsg  - 停止显示线程...
    07-15 13:09:09.539 27174 11890ðOverlayDisplayAdapter:硬件/ TI / OMAP4 / OMAP3 /摄像机OMAP4 / src目录/ OverlayDisplayAdapter.cpp:735 processHalMsg  -  +信令显示信号
    07-15 13:09:09.539 27174 11890ðOverlayDisplayAdapter:硬件/ TI / OMAP4 / OMAP3 /摄像机OMAP4 / src目录/ OverlayDisplayAdapter.cpp:740 processHalMsg  -   - 信号传导的显示信号
    07-15 13:09:09.539 27174 27672èCameraHal:硬件/ TI / OMAP4 / OMAP3 /摄像机OMAP4 / src目录/ AppCallbackNotifier.cpp:1517站 -  AppCallbackNotifier已经处于停止状态
    07-15 13:09:09.539 27174 11876ðCameraHal:硬件/ TI / OMAP4 / OMAP3 /摄像机OMAP4 / src目录/ AppCallbackNotifier.cpp:161 notificationThread  - 通知线程收到相机HAL消息
    07-15 13:09:09.539 27174 11876ðCameraHal:硬件/ TI / OMAP4 / OMAP3 /摄像机OMAP4 / src目录/ AppCallbackNotifier.cpp:848而processMessage  -  +消息得到...
    07-15 13:09:09.539 27174 11876ðCameraHal:硬件/ TI / OMAP4 / OMAP3 /摄像机OMAP4 / src目录/ AppCallbackNotifier.cpp:850而processMessage  -  -msg GET ...
    07-15 13:09:09.539 27174 11876ðCameraHal:硬件/ TI / OMAP4 / OMAP3 /摄像机OMAP4 / src目录/ AppCallbackNotifier.cpp:869而processMessage  - 从摄像头HAL收到NOTIFIER_EXIT命令
    07-15 13:09:09.539 27174 11876ðCameraHal:硬件/ TI / OMAP4 / OMAP3 /摄像机OMAP4 / src目录/ AppCallbackNotifier.cpp:880而processMessage  -  +从CameraHAL信令信号..
    07-15 13:09:09.539 27174 11876ðCameraHal:硬件/ TI / OMAP4 / OMAP3 /摄像机OMAP4 / src目录/ AppCallbackNotifier.cpp:883而processMessage  -   - 信号传导信号从CameraHAL ..
    07-15 13:09:09.539 27174 11876ðCameraHal:硬件/ TI / OMAP4 / OMAP3 /摄像机OMAP4 / src目录/ AppCallbackNotifier.cpp:165 notificationThread  - 通知线程退出。
    07-15 13:09:09.539 27174 11876ðCameraHal:硬件/ TI / OMAP4 / OMAP3 /摄像机OMAP4 / src目录/ AppCallbackNotifier.cpp:190 notificationThread  - 通知线程退出。
    07-15 13:09:09.539 27174 27672ðCameraHal:硬件/ TI / OMAP4 / OMAP3 /摄像机OMAP4 / src目录/ AppCallbackNotifier.cpp:938〜AppCallbackNotifier  - 停止事件提供
    07-15 13:09:09.539 27174 27672ðCameraHal:硬件/ TI / OMAP4 / OMAP3 /摄像机OMAP4 / src目录/ AppCallbackNotifier.cpp:946〜AppCallbackNotifier  - 停止框架提供商
    07-15 13:09:09.539 27174 27672ðCameraHal:硬件/ TI / OMAP4 / OMAP3 /摄像机OMAP4 / src目录/ BaseCameraAdapter.cpp:476 sendCommand  - 设置超时
    07-15 13:09:09.539 27174 27672ðOMXCameraAdapter:
    07-15 13:09:09.539 27174 27672ðOMXCameraAdapter:
    07-15 13:09:09.539 27174 27672ðOMXCameraAdapter:****〜OMXCameraAdapter称为()! ****
    07-15 13:09:09.539 27174 27672ðOMXCameraAdapter:
    07-15 13:09:09.585 27174 27672èDOMX_RPC:关闭IPC
    07-15 13:09:09.585 27174 11875ðOMXCameraAdapter:硬件/ TI / OMAP4 / OMAP3 /摄像机OMAP4 / src目录/ OMXCameraAdapter / OMXCameraAdapter.cpp:9462处理器 -  msg.command = -1
    07-15 13:09:09.585 27174 11875èOMXCameraAdapter:硬件/ TI / OMAP4 / OMAP3 /摄像机OMAP4 / src目录/ OMXCameraAdapter / OMXCameraAdapter.cpp:9476处理器 - 退出命令处理程序
    07-15 13:09:09.585 27174 27672ðOMXCameraAdapter:
    07-15 13:09:09.585 27174 27672ðOMXCameraAdapter:
    07-15 13:09:09.585 27174 27672ðOMXCameraAdapter:****〜OMXCameraAdapter退出! ****
    07-15 13:09:09.585 27174 27672ðOMXCameraAdapter:
    07-15 13:09:09.601 27174 27672ðCameraHal:
    07-15 13:09:09.601 27174 27672ðCameraHal:
    07-15 13:09:09.601 27174 27672ðCameraHal:****〜CameraHal()****
    07-15 13:09:09.601 27174 27672ðCameraHal:
    07-15 13:09:09.601 27174 27672ðCameraHal:
    07-15 13:09:11.523 27203 27552我ActivityManager:开始:意向{行动= android.intent.action.MAIN FLG = 0x10500000 CMP = de.softxperience.android.nedebug / .LogcatActivity}从PID 27542
 

解决方案

尝试添加下面的权限,作为捕捉它不允许存储图像...

 &LT;使用-权限的Andr​​oid:名称=android.permission.WRITE_EXTERNAL_STORAG​​E/&GT;
 

I've been trying to make a Camera App for android but when I try to take the picture, it bugs and I have to force close. The LogCat is:

    07-14 12:41:25.195: D/dalvikvm(13549): GC_EXPLICIT freed 51K, 49% free 2694K/5187K, external 3474K/4422K, paused 26ms
    07-14 12:41:25.195: D/AndroidRuntime(13549): Shutting down VM
    07-14 12:41:25.195: W/dalvikvm(13549): threadid=1: thread exiting with uncaught exception (group=0x4001e560)
    07-14 12:41:25.226: E/AndroidRuntime(13549): FATAL EXCEPTION: main
    07-14 12:41:25.226: E/AndroidRuntime(13549): java.lang.RuntimeException: takePicture failed 
    07-14 12:41:25.226: E/AndroidRuntime(13549):    at android.hardware.Camera.native_takePicture(Native Method)
    07-14 12:41:25.226: E/AndroidRuntime(13549):    at android.hardware.Camera.takePicture(Camera.java:829) 
    07-14 12:41:25.226: E/AndroidRuntime(13549):    at android.hardware.Camera.takePicture(Camera.java:793) 
    07-14 12:41:25.226: E/AndroidRuntime(13549):    at com.mvitsor.camerax.cameraMainActivity.takepic(cameraMainActivity.java:53) 
    07-14 12:41:25.226: E/AndroidRuntime(13549):    at com.mvitsor.camerax.cameraMainActivity$5.onClick(cameraMainActivity.java:44) 
    07-14 12:41:25.226: E/AndroidRuntime(13549):    at android.view.View.performClick(View.java:2485) 
    07-14 12:41:25.226: E/AndroidRuntime(13549):    at android.view.View$PerformClick.run(View.java:9089) 
    07-14 12:41:25.226: E/AndroidRuntime(13549):    at android.os.Handler.handleCallback(Handler.java:587) 
    07-14 12:41:25.226: E/AndroidRuntime(13549):    at android.os.Handler.dispatchMessage(Handler.java:92) 
    07-14 12:41:25.226: E/AndroidRuntime(13549):    at android.os.Looper.loop(Looper.java:130) 
    07-14 12:41:25.226: E/AndroidRuntime(13549):    at android.app.ActivityThread.main(ActivityThread.java:3859) 
    07-14 12:41:25.226: E/AndroidRuntime(13549):    at java.lang.reflect.Method.invokeNative(Native Method) 
    07-14 12:41:25.226: E/AndroidRuntime(13549):    at java.lang.reflect.Method.invoke(Method.java:507) 
    07-14 12:41:25.226: E/AndroidRuntime(13549):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:840) 
    07-14 12:41:25.226: E/AndroidRuntime(13549):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:598) 
    07-14 12:41:25.226: E/AndroidRuntime(13549):    at dalvik.system.NativeStart.main(Native Method) 

And here is the code:

    package com.mvitsor.camerax;

    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;

    import android.app.Activity;
    import android.content.pm.ActivityInfo;
    import android.graphics.PixelFormat;
    import android.hardware.Camera;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.SurfaceHolder;
    import android.view.SurfaceView;
    import android.view.View;
    import android.widget.ImageButton;
    import android.widget.Toast;

    public class cameraMainActivity extends Activity {
        /** Called when the activity is first created. */
        Camera camera;
        SurfaceView preview;
        SurfaceHolder previewHolder;
        ImageButton takePic;

        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
            setContentView(R.layout.main_camera_layout);

            preview = (SurfaceView) findViewById(R.id.SVpreview);
            previewHolder = preview.getHolder();
            previewHolder.addCallback(surfaceCallback);
            previewHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
            takePic = (ImageButton) findViewById(R.id.btn_take_pic);

            takePic.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    takepic();              
                }
            });
        }

        public void takepic(){
            camera.stopPreview();
            System.gc();
            camera.takePicture(null, null, photoCallback);
            //camera.takePicture(ShutterCallback, rawCallback, photoCallback);
        }

        private Camera.Size getBestPreviewSize(int width, int height,
                Camera.Parameters parameters) {
            Camera.Size result = null;

            for (Camera.Size size : parameters.getSupportedPreviewSizes()) {
                if (size.width <= width && size.height <= height) {
                    if (result == null) {
                        result = size;
                    } else {
                        int resultArea = result.width * result.height;
                        int newArea = size.width * size.height;

                        if (newArea > resultArea) {
                            result = size;
                        }
                    }
                }
            }

            return (result);
        }

        SurfaceHolder.Callback surfaceCallback = new SurfaceHolder.Callback() {

            @Override
            public void surfaceCreated(SurfaceHolder holder) {
                camera = Camera.open();

                try {
                    camera.setPreviewDisplay(previewHolder);
                } catch (Throwable t) {
                    Toast toast = Toast.makeText(cameraMainActivity.this,
                            "Exception in setPreviewDisplay", Toast.LENGTH_LONG);
                    toast.show();
                }
            }

            @Override
            public void surfaceChanged(SurfaceHolder holder, int format, int width,
                    int height) {
                Camera.Parameters parameters = camera.getParameters();

                Camera.Size bestSize = getBestPreviewSize(width, height, parameters);
                parameters.setPreviewSize(bestSize.width, bestSize.height);

                parameters.setPictureFormat(PixelFormat.JPEG);
                camera.setParameters(parameters);
                camera.startPreview();
            }

            @Override
            public void surfaceDestroyed(SurfaceHolder holder) {
                camera.stopPreview();
                camera.release();
                camera = null;
            }

        };

        /*
        Camera.ShutterCallback ShutterCallback = new Camera.ShutterCallback() {
            public void onShutter() {
            }
        };

        PictureCallback rawCallback = new PictureCallback() {
            public void onPictureTaken(byte[] data, Camera camera) {
            }
        };
        */

        Camera.PictureCallback photoCallback = new Camera.PictureCallback() {
            public void onPictureTaken(byte[] data, Camera camera) {
                // Save the image JPEG data to the SD card
                FileOutputStream outStream = null;
                try {
                  outStream = new FileOutputStream("/sdcard/test.jpg");
                  outStream.write(data);
                  outStream.close();
                } catch (FileNotFoundException e) {
                  Log.d("CAMERA", e.getMessage());
                } catch (IOException e) {
                  Log.d("CAMERA", e.getMessage());
                }
                camera.startPreview();
                /*new SavePhotoTask().execute(data);
                camera.startPreview();*/
            }
        };
    }

I've tried both camera.takePicture(null, null, photoCallback); and camera.takePicture(ShutterCallback, rawCallback, photoCallback);, as you can see, and I also read somewhere that System.gc(); could work, but it didn't. Also, I read that a common problem was forgetting to restart the preview after taking the picture, but I'm calling camera.startPreview(); after it, so I really don't know what's going on!

I'm running Android 2.3.3 (Motorola Razr). (it looks like many people are having problems with camera on Android 2.3.3...).

I'd be really grateful if someone could help!

Vitor Martes Sternlicht

I'VE UPLOADED THE WHOLE PROJECT TO http://www.4shared.com/rar/meSWrQPm/CameraTest.html

I downloaded an app that showed this Log... Maybe there's something here that could help: it looks like the problem occured when creating the files directory. How can I solve this?

    07-15 12:43:36.578 27203 27487 W ActivityManager:   Force finishing activity com.mvitsor.camerax/.cameraMainActivity
    07-15 12:43:36.601 27203 27221 W ApplicationContext: Unable to create files directory

Here is the complete Log

    07-15 13:09:08.226 27203 27582 W ActivityManager:   Force finishing activity com.mvitsor.camerax/.cameraMainActivity
    07-15 12:43:36.601 27203 27221 W ApplicationContext: Unable to create files directory
    07-15 13:09:08.414 27203 27221 I ActivityManager: Config changed: { scale=1.0 imsi=724/10 loc=pt_BR touch=3 keys=1/1/2 nav=1/1 orien=1 layout=268435490 uiMode=17 seq=139}
    07-15 13:09:08.726 27203 27219 W ActivityManager: Activity pause timeout for HistoryRecord{40562350 com.mvitsor.camerax/.cameraMainActivity}
    07-15 13:09:09.132 27203 27219 I ActivityManager: No longer want android.process.media (pid 11091): hidden #21
    07-15 13:09:09.515 27203 27488 I WindowManager: WIN DEATH: Window{40d859a8 com.mvitsor.camerax/com.mvitsor.camerax.cameraMainActivity paused=false}
    07-15 13:09:09.515 27203 27499 I ActivityManager: Process com.mvitsor.camerax (pid 11848) has died.
    07-15 13:09:09.515 27203 27426 I WindowManager: WIN DEATH: Window{40ef8c70 SurfaceView paused=false}
    07-15 13:09:09.539 27203 27210 I MotOverlay: disable_streaming_locked
    07-15 13:09:09.539 27203 27210 I MotOverlay: Destroying overlay/fd=300/obj=4650c000
    07-15 13:09:09.539 27498 24620 D IMirrorIpc: onTransact (2)
    07-15 13:09:09.539 27498 24620 D MirrorIpc: unregisterCallback: client 0
    07-15 13:09:09.539 27498 24620 D MirrorUCMgrIpcCB: ipcInit - Client already exists
    07-15 13:09:09.539 27498 24620 D MirrorEngine: hdmiMirrorActiveOverlay/0
    07-15 13:09:09.539 27174 11890 D OverlayDisplayAdapter: hardware/ti/omap4/omap3/camera-omap4/src/OverlayDisplayAdapter.cpp:714 processHalMsg - Display thread received DISPLAY_EXIT command from Camera HAL.
    07-15 13:09:09.539 27174 11890 D OverlayDisplayAdapter: hardware/ti/omap4/omap3/camera-omap4/src/OverlayDisplayAdapter.cpp:715 processHalMsg - Stopping display thread...
    07-15 13:09:09.539 27174 11890 D OverlayDisplayAdapter: hardware/ti/omap4/omap3/camera-omap4/src/OverlayDisplayAdapter.cpp:735 processHalMsg - +Signalling display semaphore
    07-15 13:09:09.539 27174 11890 D OverlayDisplayAdapter: hardware/ti/omap4/omap3/camera-omap4/src/OverlayDisplayAdapter.cpp:740 processHalMsg - -Signalling display semaphore
    07-15 13:09:09.539 27174 27672 E CameraHal: hardware/ti/omap4/omap3/camera-omap4/src/AppCallbackNotifier.cpp:1517 stop - AppCallbackNotifier already in stopped state
    07-15 13:09:09.539 27174 11876 D CameraHal: hardware/ti/omap4/omap3/camera-omap4/src/AppCallbackNotifier.cpp:161 notificationThread - Notification Thread received message from Camera HAL
    07-15 13:09:09.539 27174 11876 D CameraHal: hardware/ti/omap4/omap3/camera-omap4/src/AppCallbackNotifier.cpp:848 processMessage - +Msg get...
    07-15 13:09:09.539 27174 11876 D CameraHal: hardware/ti/omap4/omap3/camera-omap4/src/AppCallbackNotifier.cpp:850 processMessage - -Msg get...
    07-15 13:09:09.539 27174 11876 D CameraHal: hardware/ti/omap4/omap3/camera-omap4/src/AppCallbackNotifier.cpp:869 processMessage - Received NOTIFIER_EXIT command from Camera HAL
    07-15 13:09:09.539 27174 11876 D CameraHal: hardware/ti/omap4/omap3/camera-omap4/src/AppCallbackNotifier.cpp:880 processMessage - +Signalling semaphore from CameraHAL..
    07-15 13:09:09.539 27174 11876 D CameraHal: hardware/ti/omap4/omap3/camera-omap4/src/AppCallbackNotifier.cpp:883 processMessage - -Signalling semaphore from CameraHAL..
    07-15 13:09:09.539 27174 11876 D CameraHal: hardware/ti/omap4/omap3/camera-omap4/src/AppCallbackNotifier.cpp:165 notificationThread - Notification Thread exiting.
    07-15 13:09:09.539 27174 11876 D CameraHal: hardware/ti/omap4/omap3/camera-omap4/src/AppCallbackNotifier.cpp:190 notificationThread - Notification Thread exited.
    07-15 13:09:09.539 27174 27672 D CameraHal: hardware/ti/omap4/omap3/camera-omap4/src/AppCallbackNotifier.cpp:938 ~AppCallbackNotifier - Stopping Event Provider
    07-15 13:09:09.539 27174 27672 D CameraHal: hardware/ti/omap4/omap3/camera-omap4/src/AppCallbackNotifier.cpp:946 ~AppCallbackNotifier - Stopping Frame Provider
    07-15 13:09:09.539 27174 27672 D CameraHal: hardware/ti/omap4/omap3/camera-omap4/src/BaseCameraAdapter.cpp:476 sendCommand - Set time out
    07-15 13:09:09.539 27174 27672 D OMXCameraAdapter: 
    07-15 13:09:09.539 27174 27672 D OMXCameraAdapter: 
    07-15 13:09:09.539 27174 27672 D OMXCameraAdapter: **** ~OMXCameraAdapter called() ! ****
    07-15 13:09:09.539 27174 27672 D OMXCameraAdapter: 
    07-15 13:09:09.585 27174 27672 E DOMX_RPC: Closing IPC
    07-15 13:09:09.585 27174 11875 D OMXCameraAdapter: hardware/ti/omap4/omap3/camera-omap4/src/OMXCameraAdapter/OMXCameraAdapter.cpp:9462 Handler - msg.command = -1
    07-15 13:09:09.585 27174 11875 E OMXCameraAdapter: hardware/ti/omap4/omap3/camera-omap4/src/OMXCameraAdapter/OMXCameraAdapter.cpp:9476 Handler - Exiting command handler
    07-15 13:09:09.585 27174 27672 D OMXCameraAdapter: 
    07-15 13:09:09.585 27174 27672 D OMXCameraAdapter: 
    07-15 13:09:09.585 27174 27672 D OMXCameraAdapter: **** ~OMXCameraAdapter exiting ! ****
    07-15 13:09:09.585 27174 27672 D OMXCameraAdapter: 
    07-15 13:09:09.601 27174 27672 D CameraHal: 
    07-15 13:09:09.601 27174 27672 D CameraHal: 
    07-15 13:09:09.601 27174 27672 D CameraHal: **** ~CameraHal() ****
    07-15 13:09:09.601 27174 27672 D CameraHal: 
    07-15 13:09:09.601 27174 27672 D CameraHal: 
    07-15 13:09:11.523 27203 27552 I ActivityManager: Starting: Intent { act=android.intent.action.MAIN flg=0x10500000 cmp=de.softxperience.android.nedebug/.LogcatActivity } from pid 27542

解决方案

Try adding the following permission, as on capturing it is not permitted to store the image...

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

这篇关于Android的takePicture失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆