轉載請註明出處: http://blog.csdn.net/lb377463323/article/details/53335811
首先定義一個Camera.ErrorCallback,可以使用下述方式直接new一個,當然也可以定義一個類繼承Camera.ErrorCallback,當Camera出現錯誤時會回調onError()方法,所以可以在這裏面捕獲錯誤信息
private Camera.ErrorCallback mErrorCallback = new Camera.ErrorCallback() {
@Override
public void onError(int error, Camera camera) {
//error參數有兩個值,CAMERA_ERROR_UNKNOWN 和 CAMERA_ERROR_SERVER_DIED,分別對應錯誤未知和Camera server掛掉了
}
}
};
然後使用Camera.setErrorCallback(mErrorCallback);註冊ErrorCallback,可以在startPreview()方法前註冊
需注意的是最好在closeCamera()方法前取消註冊,使用Camera.setErrorCallback(null);