Ich schreibe eine Android App, die viele Mediendateien speichert. Sie sind nicht der Typ (und sind viel zu viele), um die Benutzerbenachrichtigung oder andere Medienverzeichnisse zu überladen, aber sie müssen auch vom Benutzer aktualisierbar sein, so dass ich sie nicht in die Ressourcen einfügen kann. Ich kann getExternalFilesDir verwenden, um einen Pfad auf der SD-Karte zu bekommen, aber ich möchte das nur tun, wenn die App selbst auf der SD-Karte installiert ist. Wenn die App intern installiert ist, möchte ich das Medium in den internen Speicher legen.Android 2.2 - Wie erkenne ich, ob ich auf der SD-Karte installiert bin oder nicht?
Wie kann ich feststellen, ob meine App im internen oder externen Speicher ausgeführt wird?
1. Checking '/mnt' und '/ sdcard' scheint hacky - warum benutzen Sie nicht die Verzeichnisse aus der' Environment' Klasse? 2. Ich habe es selbst nicht ausprobiert, ist das Dateiverzeichnis nicht immer im internen Speicher? Was ist der Sinn des zweiten Checks? Pre-Froyo kann sowieso nicht auf SD-Karte installiert werden. Oder haben Sie das hinzugefügt, um den Fall von ROMs wie CyanogenMod zu behandeln, die ihre eigene app2sd-Implementierung hatten? – EboMike
1. Sie haben Recht, mit Environment.EXTERNAL_STORAGE_DIRECTORY ist besser. 2. Ich denke nicht, wenn die App auf SD installiert ist. Und ja, die zweite Überprüfung ist für modifizierte ROMS. – peceps