2012-11-26 6 views
7

Android 4.2 hinzugefügt Multi-User-Unterstützung für Tablets. Wenn Sie nun einen Pfad zum Speichern von Dateien auf externem Speicher über eine Methode wie Environment.getExternalStorageDirectory() oder Context.getExternalFilesDir(null) anfordern, erhalten Sie einen Wert wie: /storage/emulated/#/Android/data/your.package.name/ Die # ist eine Zahl, abhängig davon, bei welchem ​​Benutzer Sie gerade angemeldet sind.Wie können Android/data/your.package.name-Dateien auf einem externen Speicher in Android 4.2 mit der Multi-User-Umgebung angezeigt werden?

Das funktioniert gut, aber ich habe festgestellt, dass DDMS Datei Explorer und auch die Android File Transfer sind nicht in der Lage, diese Dateien zu sehen.

DDMS Datei Explorer kann nichts über storage/emulated/ mit Ausnahme eines leeren legacy Ordners sehen. File Transfer kann den Ordner/Android/data/sehen, aber für eine App, die als Debug ausgeführt wird, sind ihre Dateien nicht sichtbar (aber sie existieren).

Gibt es eine Möglichkeit, DDMS oder File Transfer mit diesen Geräten zu arbeiten? (Hoffentlich ohne das Gerät zu verankern ...)

Dank

Antwort

13

Aha!

Versuchen Sie /mnt/shell/emulated/N, für verschiedene Werte von N wie 0. Das scheint richtig auf meinem Nexus 10 und meinem Galaxy Nexus in DDMS abzubilden. Ich kann das Dateiübertragungs-Tool jedoch nicht kommentieren.

BTW, die Zahlen sind nicht sequentiell für die Benutzer. Also auf meinem N10 ist der ursprüngliche Benutzer 0, der zweite Benutzer ist 10.

+2

YES! Vielen Dank. Du bist wie ein magischer Zauberer, der hier herumreist und Dinge für Menschen repariert. Danke noch einmal. – cottonBallPaws

+0

Wie Sie sagten, funktioniert das im Datei-Explorer (DDMS), aber nicht im Dateiübertragungs-Tool. Ich kann damit leben! – cottonBallPaws

+2

@littleFluffyKitty: Danke! Und du bist wie ein, ähm, klein, äh, kuschelig, uh, junge Katze! :-) – CommonsWare

3

Da Jelly Bean 4.2 Multi-User-Profile unterstützt, wurde das Durchsuchen der SD-Karte ein wenig geändert.

Sie müssen ADT v 21 oder höher haben, um emulierte SD-Karte zu durchsuchen. /mnt/shell/emuliert/0 ist für den Standardbenutzer. Siehe das Bild für mehr Details. enter image description here

Enlarge Image

Verwandte Themen