I use CamEx2 (and Camera2 library). 
The same code in another app does work. But in my new app it raises an Error.
Permission for write external storage is Requested using RuntimePermission and it is granted.
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
	
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
Any hints are higly appreciated.
			
			The same code in another app does work. But in my new app it raises an Error.
Logger connected to: 988ad036525346515630
--------- beginning of crash
--------- beginning of main
--------- beginning of system
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create, isFirst = true **
autoversion: 39.0, 39
compilation time: 11/15/2018 10:26:38
** Activity (main) Resume **
*** Service (firebasemessaging) Create ***
** Service (firebasemessaging) Start **
*** Service (httputils2service) Create ***
** Service (httputils2service) Start **
Main.UserLoggedin()
** Activity (main) Pause, UserClosed = false **
** Activity (capturevideo) Create, isFirst = true **
FULL
SetState(Open false, Busy false, Video true)
** Activity (capturevideo) Resume **
CaptureVideo.Activity_Resume
CaptureVidepenCamera(false)
SetState(Open false, Busy false, Video true)
PrepareSurface)
SetState(Open false, Busy false, Video true)
camex2$ResumableSub_PrepareSurfaceForVideoresume (java line: 1210)
java.io.FileNotFoundException: temp-: open failed: EROFS (Read-only file system)
at libcore.io.IoBridge.open(IoBridge.java:512)
at java.io.RandomAccessFile.<init>(RandomAccessFile.java:255)
at java.io.RandomAccessFile.<init>(RandomAccessFile.java:136)
at android.media.MediaRecorder.prepare(MediaRecorder.java:1231)
at anywheresoftware.b4a.objects.Camera2.StartSession(Camera2.java:273)
at de.fbdn.videohelper.camex2$ResumableSub_PrepareSurfaceForVideo.resume(camex2.java:1210)
at anywheresoftware.b4a.BA.checkAndRunWaitForEvent(BA.java:245)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:185)
at anywheresoftware.b4a.BA.raiseEvent(BA.java:171)
at anywheresoftware.b4a.keywords.Common$14.run(Common.java:1736)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6940)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
Caused by: android.system.ErrnoException: open failed: EROFS (Read-only file system)
at libcore.io.Linux.open(Native Method)
at libcore.io.BlockGuardOs.open(BlockGuardOs.java:207)
at libcore.io.IoBridge.open(IoBridge.java:498)
... 16 more
Permission for write external storage is Requested using RuntimePermission and it is granted.
			
				B4X:
			
		
		
		    cam.Initialize(pnlCamera)
    Log(cam.SupportedHardwareLevel)
    buttons = Array(btnMode)
    SetState(False, False, VideoMode)
			
				B4X:
			
		
		
		Sub Activity_Resume
    Log("CaptureVideo.Activity_Resume")
    OpenCamera(frontCamera)
End Sub
Sub CheckAllFieldsValid
    Dim valid As Boolean = DialogKommentar.Text.Length > 0
    DetailsDialog.GetButton(DialogResponse.POSITIVE).Enabled = valid
End Sub
Sub DialogKommentar_TextChanged (alt As String, Neu As String)
    CheckAllFieldsValid
End Sub
Sub OpenCamera (front As Boolean)
    Log($"CaptureVideo.OpenCamera(${front})"$)
    rp.CheckAndRequest(rp.PERMISSION_CAMERA)
    Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
    If Result = False Then
        ToastMessageShow("No permission!", True)
        Return
    End If
    rp.CheckAndRequest(rp.PERMISSION_RECORD_AUDIO)
    Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
    If Result = False Then
        ToastMessageShow("No permission!", True)
        Return
    End If
    rp.CheckAndRequest(rp.PERMISSION_WRITE_EXTERNAL_STORAGE)
    Wait For Activity_PermissionResult (Permission As String, Result As Boolean)
    If Result = False Then
        ToastMessageShow("No permission to external SDCard!", True)
        Return
    End If
    
    SetState(False, False, VideoMode)
    Wait For (cam.OpenCamera(front)) Complete (TaskIndex As Int)
    If TaskIndex > 0 Then
        MyTaskIndex = TaskIndex 'hold this index. It will be required in later calls.
        Wait For(PrepareSurface) Complete (Success As Boolean)
    End If
    Log("Start success: " & Success)
    SetState(Success, False, VideoMode)
    If Success = False Then
        ToastMessageShow("Failed to open camera", True)
    End If
    'Log(cam.ActiveArraySize)
    'Log(cam.PreviewSize)
    'Log(cam.CaptureSize)
End Sub
Sub PrepareSurface As ResumableSub
    Log($"PrepareSurface)"$)
    SetState(False, busystate, VideoMode)
    'sizes can be modified here
    If VideoMode Then
        cam.PreviewSize.Initialize(640, 480)
        'Using a temporary file to store the video.
        Wait For (cam.PrepareSurfaceForVideo(MyTaskIndex, VideoFileDir, "temp-" & VideoFileName)) Complete (Success As Boolean)
    Else
        cam.PreviewSize.Initialize(1920, 1080)
        Wait For (cam.PrepareSurface(MyTaskIndex)) Complete (Success As Boolean)
    End If
    If Success Then cam.StartPreview(MyTaskIndex, VideoMode)
    SetState(Success, busystate, VideoMode)
    Return Success
End SubAny hints are higly appreciated.
 
				 
 
		 
 
		 
 
		 
 
		