SurfaceView с предварительным просмотром камеры не уничтожается

У меня есть Tab Activity с 2 вкладками (действиями). На каждой вкладке есть сцена 3d Open GL, нарисованная поверх SurfaceView с предварительным просмотром камеры.

Однако, в зависимости от ориентации устройства, вкладки переключаются.

Проблема в том, что когда запускается другая активность, она вызывает camera.open(), которая генерирует исключение, говорящее, что служба камеры недоступна.

На самом деле, проблема в том, что камера не останавливается, когда деятельность приостанавливается, другими словами, onSurfaceDestroyed() не вызывается для SurfaceView. Я попытался остановить камеру, когда вызывается onPause() для деятельности, но все равно получаю ту же ошибку.

У кого-нибудь были такие же проблемы с деятельностью с вкладками? Есть идеи, как заставить surfaceview уничтожаться?

5
задан Kirill Volkov 24 November 2011 в 12:47
поделиться