camera preview freezes when screen is locked & unlocked.

zzinzzin CAMember ✭✭

When i lock the the screen and then unlock the screen, the android camera becomes frozen for some odd reason. this is code.

` static readonly string TAG = "CameraPreview";

    static readonly int CAMERA_ID = 1;

    Camera camera;
    public static FragmentOne NewInstance ()
    {
        return new FragmentOne ();
    }
    Preview t;
    public override void OnCreate (Bundle savedInstanceState)
    {
        base.OnCreate (savedInstanceState);
    }
    public override View OnCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {
        if (camera == null) {camera = GetCameraInstance (CAMERA_ID);}
        t = new Preview(this.Activity,camera);
        View root = inflater.Inflate (Resource.Layout.framelayout, null);
        SurfaceOrientation displayRotation = Activity.WindowManager.DefaultDisplay.Rotation;
        FrameLayout preview =  root.FindViewById <FrameLayout> (Resource.Id.camera_preview);
        preview.AddView (t);
        return root;
    }
    public override void OnResume ()
    {
        base.OnResume ();
        if (camera == null) {camera = GetCameraInstance (CAMERA_ID);}
        t.SetCamera (camera); 
        Log.Debug (TAG, "resumed");

    }



    public override void OnPause () 
    {
        base.OnPause ();
        if (camera != null) {
                t.SetCamera (null);
                camera.Release ();
                camera = null;
            }
    }

    public static Camera GetCameraInstance (int cameraId)
    {
        Camera c = null;

        try {
            c = Camera.Open (cameraId); 

            Log.Debug(TAG,"camera Opening");// attempt to get a Camera instance
        } catch (Exception e) {
            // Camera is not available (in use or does not exist)
            Log.Debug (TAG, string.Format ("Camera {0} is not available: {1}", cameraId,  e.Message));
        }

        return c;   // returns null if camera is unavailable
    }   `
Sign In or Register to comment.