写真を撮ってツイートするシンプルなアプリに問題があります。アプリはデバッガーと CM10.2 を実行する Galaxy S3 で動作しますが、CM7.2 を実行する LG GW620 では失敗します。組み込みのカメラ アプリは LG でも動作します。
エラーメッセージは次のとおりです。
09-12 20:43:49.031: E/QualcommCameraHardware(1323): native_get_picture: MSM_CAM_IOCTL_GET_PICTURE fd 21 エラー アドレスが正しくありません 09-12 20:43:49.031: E/QualcommCameraHardware(1323): getPicture に失敗しました!
コードは次のようになります。
// take the picture
_cam = Camera.open()
Log.d(TAG, "Taking picture...");
_cam.setPreviewCallback(null); // work around that doesn't work
_cam.setOneShotPreviewCallback(null); // work around that doesn't work
_cam.takePicture(shutterCallback, rawCallback, jpegCallback);
Log.d(TAG, "Picture taken.");
エミュレーターとGalaxyでコールバックが呼び出されている間、LG電話でコールバックは呼び出されていません。
私の質問: "fd 21 Bad address" とはどういう意味ですか? (カメラがアクセスできないアドレスを指しているため、カメラがメモリに書き込めないと推測しています。しかし、どうすればそれに影響を与えることができますか?)