German Mit Dateien arbeiten

zeroflag

Member
Licensed User
Longtime User
Argh,

jetzt habe ich doch ein Problem, dass ich durch suchen und lesen nicht lösen konnte. :sign0148:
Meine App soll eine Datei erzeugen, die anschließend von einem Mail-Client verschickt werden kann.
Ich möchte nicht die "Net library" nutzen, da ja jeder seinen Mail-Client schon eingerichtet hat (tolle Signatur etc..).
Deshalb möchte ich den Mail-Client nicht ersetzten, sondern nur eine Datei "weiter geben".

Aber wie??? Bzw. Wo???

DirAssets: hilft nix, weil intern und RO
DirDefaultExternal: hilft nix, weil nicht in jedem Gerät verfügbar
DirInternal: auch nix, weil nur für meine app erreichbar
DirInternalCache: wieder nix (s.o.)
DirRootExternal: und auch der: nicht bei jedem Gerät verfügbar... :BangHead:

Gibt es keine Ort wo sich Apps Dateien "teilen" können? :sign0104:

Vielen Dank schon mal!
 

RolandB

Member
Licensed User
Longtime User
When you try to attach file from internal storage, GMail writes an error to the log:

ERROR/Gmail(...): file:// attachment paths must point to file:///mnt/sdcard.

E-mail application would show you the attached file even if it didn't physically exist.

As for an external storage, documentation says that:

Every Android-compatible device supports a shared "external storage" that you can use to save files. This can be a removable storage media (such as an SD card) or an internal (non-removable) storage.

That means you don't have to worry about device not having an external storage at all. Still, external storage can be unavailable at times. Refer to Storage Options | Android Developers

Quelle: Android - not able to attach a file in email - Stack Overflow

Somit sollte der Zugriff auf file.DirRootExternal dennoch möglich sein. Du könntest es natürlich mit file.ExternalReadable davor überprüfen. Alle Angaben natürlich ohne Gewähr ;)

vg, Roland
 

trebun

Member
Licensed User
Longtime User
DirDefaultExternal: hilft nix, weil nicht in jedem Gerät verfügbar
DirRootExternal: und auch der: nicht bei jedem Gerät verfügbar... :BangHead:

Hallo,

hab leider keine Lösung für dich, aber mich würde interessieren, warum die beiden o.g. Punkte nicht in jedem Gerät verfügbar sind.

Benutze beide auf mehreren unterschiedlichen Geräten ohne Probleme. Allerdings alle mit min. 4.X - wo gibt es genau Probleme?

Gruß,
trebun
 

zeroflag

Member
Licensed User
Longtime User
Danke für die Antworten.

Scheinbar habt ihr Recht.
Ich hatte "DirRootExternal" irgendwie mit "DirRootExternal storage" gleichgesetzt.
Ich meine auch, dass die Datei bei meinen ersten Tests immer auf der SD-Karte erstellt wurde...

Habe es jetzt aber noch mal gegen getestet. Und jetzt wird sie immer im Telefon-Speicher erstellt.

Komisch. Bzw. eigene Blindheit :confused:
Egal, jetzt funktioniert es.

thx!
 
Top