CWAC - не снимать изображение при включенном режиме вспышки на s5
Я использую CWAC Camera Lib для захвата изображений. Камера не снимает изображение, когда режим вспышки установлен на ON setFlashMode(Parameters.FLASH_MODE_ON);
на с5.
Я также попробовал это, используя демонстрационную версию, предоставленную с библиотекой. Просто появляется флэш, и ничего не происходит Для последующего действия захвата выдает исключение, трассировка стека использует демо:
3-25 16:11:23.058 23419-23419/com.commonsware.cwac.camera.demo E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.commonsware.cwac.camera.demo, PID: 23419
java.lang.IllegalStateException: Preview mode must have started before you can take a picture
at com.commonsware.cwac.camera.CameraView.takePicture(CameraView.java:331)
at com.commonsware.cwac.camera.CameraFragment.takePicture(CameraFragment.java:162)
at com.commonsware.cwac.camera.demo.DemoCameraFragment.takeSimplePicture(DemoCameraFragment.java:242)
at com.commonsware.cwac.camera.demo.DemoCameraFragment.onOptionsItemSelected(DemoCameraFragment.java:129)
at android.app.Fragment.performOptionsItemSelected(Fragment.java:1806)
at android.app.FragmentManagerImpl.dispatchOptionsItemSelected(FragmentManager.java:1978)
at android.app.Activity.onMenuItemSelected(Activity.java:2711)
at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:1094)
at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:735)
at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:152)
at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:874)
at com.android.internal.view.menu.ActionMenuView.invokeItem(ActionMenuView.java:645)
at com.android.internal.view.menu.ActionMenuItemView.onClick(ActionMenuItemView.java:210)
at android.view.View.performClick(View.java:4637)
at android.view.View$PerformClick.run(View.java:19422)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5586)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
at dalvik.system.NativeStart.main(Native Method)
Как можно решить эту проблему?
onPictureTaken(byte[] data, Camera camera)
из PictureTransactionCallback
не вызывается в этом случае.
Устройство: Samsung Galaxy S5, Android 4.4.2
Спасибо:-)
1 ответ
Это также случилось со мной. Причина в том, что я предоставил SimpleCameraHost, который переопределяет метод useSingleShotMode, который всегда возвращает true.
Я просто возвращаю это как ложное, тогда я больше не вижу этой проблемы.
@Override
public boolean useSingleShotMode() {
return false;
}