SD-Karte in Android formatieren

8

Die Dinge sollten einfach sein, aber wie die meiste Zeit, in Android, nicht. Ich muss die SD-Karte formatieren, wenn der Benutzer die Option in meiner App auswählt. Frag mich nicht, warum ich das machen soll, wenn es schon im Betriebssystem ist ... nicht praktisch, aber es ist eine Voraussetzung, die ich implementieren muss. Wie Sie vielleicht wissen, gibt es eine Option in Einstellungen \ Speicher \ SD-Karte löschen . Ich habe mir den Froyo-Quellcode angeschaut und es ist ungefähr so:

%Vor%

Es verwendet android.os.storage.IMountService und android.os.ServiceManager und ich habe anscheinend keinen Zugriff darauf. Also, wie ich es sehe, könnte ich rekursiv jede Datei durchsuchen und sie löschen, aber das wäre "nicht nach meinem Geschmack" ... oder ich könnte den Bildschirm von der SD-Karte zum Benutzer starten.

Jede Hilfe ist mehr als willkommen, da ich feststecke.

    
Alin 13.09.2011, 16:20
quelle

2 Antworten

5

Ich kann die Frage hier auf SO nicht wieder finden, aber es hatte eine funktionierende Lösung. Also alles Lob geht an diesen Typ;)

%Vor%     
Alin 15.09.2011, 17:17
quelle
4

Zuerst denke ich, dass Sie möglicherweise .android_secure Dateisystem umbinden müssen, bevor Sie die SD-Karte formatieren, was auch immer Ihr Ansatz sein mag.

Dann,

Probieren Sie folgende Berechtigungen in Ihrer App aus:

1) MOUNT_FORMAT_FILESYSTEMS - Ссылка

2) MOUNT_UNMOUNT_FILESYSTEMS - Ссылка

Android App Einstellungen verwendet bereits die 2. Erlaubnis.

================================================== ==================================

Wenn Sie einen Build von AOSP oder einem anderen Verteilungscode ausführen, wird die Datei IMountService.java automatisch generiert. Es enthält folgende Funktion, die Formatierungsbefehle tatsächlich an Vold-Daemon sendet, denke ich.:

%Vor%     
Abhijeet Pathak 13.09.2011 16:39
quelle