在这里,我在预览期间为 CameraPreview 开发了一个相机应用程序,我打开 IntentChooser 对话框进行邮件发送,但问题是当我没有选择任何选项并按下设备的后退按钮时,我的 CameraPreview 显示黑屏但在记录一些行打印。没有任何错误发生,但预览显示黑屏。
@Override
protected void onResume()
{
try
{
super.onResume();
System.out.println("==== Actvity RESUME ====");
previewing = true;
autoFocusHandler = new Handler();
mCamera = Camera.open();
/* Instance barcode scanner */
scanner = new ImageScanner();
scanner.setConfig(0, Config.X_DENSITY, 3);
scanner.setConfig(0, Config.Y_DENSITY, 3);
mPreview = new CameraPreview(this, mCamera, previewCb, autoFocusCB);
preview = (FrameLayout)findViewById(R.id.cameraPreview);
preview.addView(mPreview);
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
public void onPause()
{
try
{
super.onPause();
System.out.println("==== Actvity PAUSE ====");
releaseCamera();
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
@Override
protected void onDestroy()
{
// TODO Auto-generated method stub
super.onDestroy();
System.out.println("==== Actvity DESTROY ====");
releaseCamera();
//mCamera.release();
}
private void releaseCamera()
{
if (mCamera != null)
{
previewing = false;
mCamera.setPreviewCallback(null);
mCamera.release();
mCamera = null;
}
}
在这里,我的表面 ID 被破坏了两次。
请帮助我,在此先感谢。