Androidカスタムカメラの撮影クリックが速いときのTakePhoto Failed解決方法

452 ワード

一:ログ
java.lang.RuntimeException: takePicture failed

二:解決コード
再現原因:撮影ボタンが繰り返しクリックされるとこのバグが発生します.修復:boolean変数を宣言
private boolean safeToTakePicture = false;

startPreviewの後にsafeToTakePicture=true;写真クリックイベントで
if (safeToTakePicture) { 
  camera.takePicture(null, null, mPicture); 
  safeToTakePicture = false;
}

PictureCallbackコールバックメソッドでは、safeToTakePicture=true;