У нас есть приложение xamarin.froms, в котором нам нужно сделать снимок на основе переключения.
это код
public void OpenCamera()
{
if (_context == null || OpeningCamera){
return;
}
OpeningCamera = true;
_manager = (CameraManager)_context.GetSystemService(Context.CameraService);
var cameraId = _manager.GetCameraIdList()[0];
var characteristics = _manager.GetCameraCharacteristics(cameraId);
var map = (StreamConfigurationMap)characteristics.Get(CameraCharacteristics.ScalerStreamConfigurationMap);
_previewSize = map.GetOutputSizes(Class.FromType(typeof(SurfaceTexture)))[0];
_manager.OpenCamera(cameraId, _mStateListener, null);
}
Впервые камера просыпается, как и ожидалось.если мы нажимаем кнопку, то приложение выходит из строя на этой конкретной линии
var characteristics = _manager.GetCameraCharacteristics(cameraId);
И это происходит только для самсунговских устройств для других устройств.
это сообщение об ошибке
{Android.Hardware.Camera2.CameraAccessException: Camera service is currently unavailable
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x0000c] in <f32579baafc1404fa37ba3ec1abdc0bd>:0
at Java.Interop.JniEnvironment+InstanceMethods.CallObjectMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x00069] in <7802aa64ad574c33adca332a3fa9706a>:0
at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeAbstractObjectMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x00014] in <7802aa64ad574c33adca332a3fa9706a>:0
at Android.Hardware.Camera2.CameraManager.GetCameraCharacteristics (System.String cameraId) [0x00029] in <263adecfa58f4c449f1ff56156d886fd>:0
at TechnicianApp.Droid.Renderers.Camera.CameraDroid.OpenCamera () [0x0004e] in /Users/apple/Desktop/Pwc-Release/UATRelease3/technician-mobile-app/TechnicianApp.Android/Renders/Camera/CameraDroid.cs:96
--- End of managed Android.Hardware.Camera2.CameraAccessException stack trace ---
android.hardware.camera2.CameraAccessException: Camera service is currently unavailable
at android.hardware.camera2.CameraManager.getCameraCharacteristics(CameraManager.java:192)
at
есть ли способ решить эту проблему?