2012-08-08 18 views
6

Mam problem. Po uruchomieniu aparatu w celu podglądu i przywrócenia innej aplikacji, a następnie z powrotem do mojej aplikacji: podgląd jest czarny. Jeśli nadal będę robić zdjęcie, zrobię zdjęcie, w którym wskażę aparat w normalny sposób.Kamera OnResume Reinit Black Screen

Czy robię coś złego w override OnResume()? Kod względny znajduje się poniżej:

public void ReleaseCamera() 
    { 
     if (myCamera != null) 
     { 
      myCamera.Release(); 
      myCamera = null; 
     } 
    } 

protected override void OnPause() 
    { 
     base.OnPause(); 

     if (myButtonState == ButtonState.CameraActive) 
      ReleaseCamera(); 
    } 

protected override void OnResume() 
    { 
     base.OnResume(); 

     if (myButtonState == ButtonState.CameraActive) 
      InitializeCamera(); 
    } 

private void InitializeCamera() 
    { 
     SurfaceView mySurfaceView = FindViewById<SurfaceView>(Resource.Id.surfaceView1); 

     myCamera = Android.Hardware.Camera.Open(cameraNumber); 
     Android.Hardware.Camera.Parameters p = myCamera.GetParameters(); 

     myCamera.SetDisplayOrientation(90); // Portrait 
     myCamera.SetPreviewDisplay(mySurfaceView.Holder); 
     myCamera.StartPreview(); 
    } 

Dziękuję za pomoc. :)

Odpowiedz