Dateien auf externen Speicher in Android schreiben fehlgeschlagen

8

Wie der Titel zeigt, habe ich Probleme beim Schreiben von Dateien auf den externen Speicher. Mein Debug-Gerät ist ein Nexus 5. Die Sache ist, ich bin in der Lage, Dateien perfekt vom Gerät zu lesen (ich habe mit denen im Download-Ordner versucht), kann aber nicht schreiben. Mir ist bewusst, dass ich dies tun muss, solange das Gerät nicht mit dem Computer verbunden ist. Aber es funktioniert auch nicht.

Tatsächlich habe ich versucht, den Zustand der SD-Karte vor dem Schreiben zu lesen (was natürlich nicht funktioniert hat). Der Zustand zeigte sich als "montiert", entweder wenn das Gerät an meinen PC angeschlossen war oder nicht. Und ich habe den Zustand mit Environment.MEDIA_MOUNTED_READ_ONLY und Environment.MEDIA_MOUNTED ohne Erfolg verglichen. Mein Gerät befindet sich in keinem dieser Zustände.

Eine Sache, die Sie wissen müssen, ist, dass mein Telefon keine externe SD-Karte hat, da es eine interne ist. Dies führt dazu, dass mein Gerät ein Verzeichnis "/ storage / emulated / 0 / ..." für den externen Speicher hat.

Ich muss auch darauf hinweisen, dass ich die folgenden Tags in meinem Android-Manifest implementiert habe:

%Vor%

Ich habe keine Ahnung, was passieren könnte. Eine andere Sache, die helfen könnte, ist, dass ich versucht habe, Dateien mit winrar (für Android) zu verwalten, und ich konnte Dateien mit dem Gerät, das mit meinem PC verbunden war, entfernen, ohne es verbunden zu haben. Also ich weiß nicht was ich machen soll.

Der Code, mit dem ich eine Datei schreibe, ist der folgende. Denken Sie daran, dass es eine Bilddatei lesen sollte (was es tut), es in eine Zeichenkette umwandeln, es in ein Bild zurückkonvertieren und dann in den Downloads-Ordner speichern:

%Vor%

Was soll ich tun?

    
blastervla 30.07.2015, 03:09
quelle

2 Antworten

4

Fix ANDROID.PERMISSION.WRITE_EXTERNAL_STORAGE auf android.permission.WRITE_EXTERNAL_STORAGE in deinem uses-permission .

Ich habe dieses Problem, UPPERCASE in Erlaubnis ist nicht nützlich.

    
Desmond Yao 30.07.2015, 03:41
quelle
3

FileOutputStream erstellt NICHT automatisch eine Datei, wenn sie nicht existiert.

Sie müssen also prüfen und erstellen, wenn Ihre Datei nicht existiert.

%Vor%

Hoffe diese Hilfe!

    
Banana droid 30.07.2015 03:20
quelle