Ho un problema. Dopo aver inizializzato la fotocamera per un'anteprima e aver messo a fuoco un'altra app, torna alla mia app: l'anteprima viene visualizzata in nero. Se continuo a scattare una foto, scatta una foto di dove punto la fotocamera normalmente.OnResume Camera Reinit Black Screen
Sto facendo qualcosa di sbagliato nell'override di OnResume()? Il relativo codice è qui sotto:
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();
}
Grazie per il vostro aiuto. :)
Grazie, il callback di SurfaceHolder ha funzionato perfettamente. :) – Ecnelis