4

私はカメラを使用しており、ドキュメントに記載されているのとまったく同じ例を使用しています:http: //developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/CameraPreview .html

Android3.1および3.2を搭載したXoomで例を実行しています。

私の問題は、Xoomをロックおよびロック解除すると、カメラが戻らないことです。タブレットをロックする前の画像は同じままで、赤いライトも戻りません。

誰かが私を助けることができれば、私は感謝します。

4

2 に答える 2

8

ロックとロック解除とは、画面がスリープ状態になったとき、またはデバイスの電源スイッチが押されてデバイスがスリープ状態になり、再び起動したときを意味しますか?

その場合は、onPause でカメラ リソースを解放してから、サーフェス ビュー コールバックを介して onResume でプレビューを再開する必要があると思われます。

私が持っている Android 2.2 および 2.3 アプリでは、カメラを扱っています。使用するパターンは次のとおりです。

onCreate:
 - get reference to the camera
onResume:
- sv = (SurfaceView)this.findViewById(R.id.capture_SurfaceView);
            mHolder = sv.getHolder(); 
            mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); 
            mHolder.setSizeFromLayout();
            mHolder.addCallback(this); 
surfaceChanged:
- Camera.setPreviewDisplayHolder()
- Camera.startPreview()
onPause:
- Camera.stopPreview
- SurfaceHolder.removeCallback()
- Camera.release()

これは、デバイスがオフになってから再びオンになったり、アプリがバックグラウンドになったりするときにうまく機能します。

于 2011-08-25T07:05:02.927 に答える
0

1つの解決策は、onResume()でサーフェスビューを非表示および再表示に設定することです。これにより、サーフェスビューが破棄されて再作成されます。

于 2012-03-05T03:00:02.067 に答える