Dann ist es gut, da es dort kompliziert wird, wenn man es richtig machen will, da "GetPathFromContentResult" nicht funktioniert, wenn es keine Bilder oder Videos sind. Man müsste sich dann was eigenes bauen.
Wie kann ich denn wärend der Laufzeit die StreamFolder ändern?
ich brauche nämlich noch File.DirRootExternal für andere Daten
B4X:
Private Sub StartAStream (In As InputStream, out As OutputStream)
Log("StartAStream")
astream.InitializePrefix(In, True, out, "astream")
If File.ExternalWritable Then
'astream.StreamFolder = File.DirDefaultExternal 'Orginal
astream.StreamFolder = File.DirRootExternal ' Wechseln aber wie, wärend der Laufzeit
Else
astream.StreamFolder = File.DirInternalCache
End If
End Sub
Ich versende 1 x Datenbanken und 1 x Bilder, die Bilder müssen aber in einen Unterordner.
Hier der Code fürs senden, was auch super funktioniert, nur benötige ich zur Laufzeit ein Ordnerwechsel auf dem Empfänger Gerät.
B4X:
Sub btnChooseFile_Click
If File.Exists(File.DirDefaultExternal, "bilder.db") = True Then
CallSubDelayed3(FileTranser, "SendFile", File.DirDefaultExternal, "bilder.db")
End If
Dim Files As List = File.ListFiles(File.DirRootExternal & "/copybilder")
Dim FileName1 As String
For i = 0 To Files.Size-1
FileName1 = Files.Get(i)
CallSubDelayed3(FileTranser, "SendFile", File.DirRootExternal & "/copybilder", FileName1)
Next
End Sub
Und was ich vergessen hatte, der Speicherort wird beim verbinden mit dem 2. Handy erst bestimmt, d.h. musst die Verbindung trennen und Neuaufbauen. Da ich viel schon damit gemacht habe, kenne ich den Ablauf.
Bekomme es mit 2 Streams nicht hin!
Vielleicht geht es auch gar nicht oder nur zu umständlich.
Ich mache es jetzt nur mit einem, kopiere alles in einen Unterordner auf dem Empfangsgerät und verteile von da aus in die richtigen Ordner.
So geht es auf jeden Fall.