2017-04-13 2 views
0

Ich versuche, eine neue Datei mit getExternalFilesDir(Environment.DIRECTORY_PICTURES) zu erstellen, aber es gibt null zurück. Wenn ich Environment.getExternalStorageState() ausführen, wird es derzeit entfernt. Dies ist derzeit nur bei Ice Cream Sandwich und Jelly Bean der Fall, da ich sowohl Marshmallow als auch Nougat getestet habe und es gut funktioniert. Ich benutze einen Emulator, wie würde ich das beheben?Environment.getExternalStorageState() gibt "Removed" zurück, was NPE in JellyBean/Ice Cream Sandwich verursacht

Edit: Ich habe auch Lese-und Schreibrechte in das Manifest enthalten. (externen Speicher lesen und schreiben)

+0

versuchen, Berechtigungen zum Lesen und Schreiben von externem Speicher hinzuzufügen. – pulkit

+0

Ich habe bereits Berechtigungen im Manifest, (lesen und schreiben externen Speicher) –

Antwort

0

Fügen Sie diese Berechtigungen zu manifest hinzu?

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
+0

Er würde Laufzeitabsturz auf Marshmallow erhalten, wenn er nicht angegeben hatte. – azizbekian

+0

Sie *, aber ja, ich habe diese Berechtigungen. –

0

Von docs of getExternalFilesDir():

zurückkehren null wenn gemeinsam genutzten Speicher nicht verfügbar ist.

Was bedeutet, Sie müssen check Wetterspeicher Montierer oder nicht über getExternalStorageState(File) ist.

Shared Storage ist möglicherweise nicht immer verfügbar, da Wechseldatenträger vom Benutzer ausgeworfen werden können. Der Medienstatus kann mit getExternalStorageState (Datei) überprüft werden.

+0

Ja, ich habe bereits nach getExternalStorageState (Datei) gesucht, die ausgewertet wurde, um entfernt zu werden. –

+0

Haben Sie versucht [dies] (http://stackoverflow.com/a/9317029/1083957)? – azizbekian

Verwandte Themen