バックグラウンドでスナップショットを取得するサービスを備えたアプリを開発しました。このアプリは、これまでに試したすべてのデバイス (Motorola のデバイスを除く) で正常に動作しますが、Bionic Droid で実行するとクラッシュすることがわかりました。
基本的に、私がやっていることは次のとおりです。
- カメラ = Camera.open();
- camera.setParameters(パラメータ);
- camera.setPreviewDisplay(null);
- camera.startPreview();
- camera.takePicture(null,null,callback);
このシーケンスは、Android 2.2 から Android 2.3.4 までを実行しているさまざまな HTC および Samsung デバイスで問題なく動作します。
Bionic は 2.3.4 を実行しており、takePicture メソッドは android.hardware.Camera.native_takePicture(Native Method) で RuntimeException をスローします。
また、 setPreviewDisplay(null) への呼び出しを削除しようとしましたが、それでもクラッシュします。サーフェスなしでスナップショットを撮ることを可能にする Bionic に何か制限はありますか?
ここで説明されているすべての手順に従いました: http://developer.android.com/reference/android/hardware/Camera.html
これは Motorola デバイス固有のバグだと思いますが、より一般的な問題である場合は、おそらく誰かがこれに光を当てることができます。
よろしくお願いします!