Ik heb een code geschreven om audio op te nemen en op te slaan op de onderstaande bestandslocatie.
private String getFilename() {
String filepath = Environment.getExternalStorageDirectory().getPath();
File file = new File(filepath, AUDIO_RECORDER_FOLDER);
if (!file.exists()) {
file.mkdirs();
}
return (file.getAbsolutePath() + "/" + System.currentTimeMillis() + file_exts[currentFormat]);
}
In Logcat geeft het me een bestandslocatie als
/storage/emulated/0/AudioRecorder/1436854479696.mp4
Ik kan deze bestandslocatie niet vinden op mijn SD-kaart. Hoe toegang krijgen tot de locatie?
Antwoord 1, autoriteit 100%
Zoals Hiren al zei, heb je een bestandsverkenner nodig om je directory te zien. Als je geroot bent, raad ik root explorer ten zeerste aan, anders is ES File Explorer een goede keuze.
Antwoord 2, autoriteit 92%
Geen apps van derden nodig
Met mijn Android 6.0 kan ik door het interne geheugen bladeren zonder dat ik apps van derden nodig heb. Ik doe gewoon dit*:
- “Instellingen”
- “Opslag en USB”
- “Stagiair”
- [laat het een beetje laden…]
- [helemaal naar beneden scrollen]
- “Bladeren”
* Woorden komen mogelijk niet overeen met de standaard Engelse versie, aangezien ik ze gewoon vrijelijk uit het Portugees vertaal.
Opmerking: in mijn telefoon komt /storage/emulated/0
in ieder geval niet overeen met een SD-kaart, maar met intern geheugen. Deze methode werkte niet voor mijn externe kaart, maar ik heb het nooit geprobeerd met een andere telefoon.
Hopelijk helpt dit!
Antwoord 3, autoriteit 94%
U kunt ook Android Debug Bridge (adb)gebruiken om uw bestand van het Android-apparaat naar de map op uw pc te kopiëren:
adb pull /storage/emulated/0/AudioRecorder/1436854479696.mp4 <folder_on_your_PC_e.g. c:/temp>
En u kunt de hele map AudioRecorder
van het apparaat kopiëren:
adb pull /storage/emulated/0/AudioRecorder <folder_on_your_PC_e.g. c:/temp>
Antwoord 4, autoriteit 91%
Sluit uw apparaat aan en voer adb shell
uit, waarmee u een opdrachtshell op uw apparaat krijgt. Je hebt geen toestemming om /storage/emulated/
te lezen, maar aangezien je weet dat het in submap 0 staat, ga je gewoon naar cd /storage/emulated/0
en je zult in staat zijn om kijk rond en communiceer als aspect.
Opmerking:u kunt adb
ook draadloos gebruiken
Antwoord 5, autoriteit 36%
Probeer dit
private String getFilename() {
String filepath = Environment.getExternalStorageDirectory().getPath();
File file = new File(filepath + "/AudioRecorder" );
if (!file.exists()) {
file.mkdirs();
}
return (file.getAbsolutePath() + "/" + System.currentTimeMillis() + ".mp4");
}
Antwoord 6, autoriteit 27%
Klik in Emulator op Instellingen>Opslag>Other>Android>data>com.companyname.textapp>file>Download om dit bestand te bekijken.
Hier is textapp de naam van de app waaraan je werkt.
Antwoord 7, autoriteit 27%
https://productforums.google.com/forum/# !msg/nexus/WIcHUNQfRLU/ALpViG86AwAJ
Mr Expensive Toys zei:
Het verbaast me dat dit probleem zich nog steeds voordoet, aangezien het al in Honeycomb begon.
Dus de /storage/emulated/0/DCIM/Camera is dezelfde map als uw normale DCIM/Camera-map. Het is gewoon een symbolische link. Dus de bestanden bevinden zich eigenlijk op de juiste locatie, je hebt gewoon een app die slechte gegevens in de MediaStore-database plaatst.
Als u bestanden vanaf uw pc opent, somt u eigenlijk de MediaStorage-database voor bestanden op. Het trekt geen traditionele directorylijsten. Dus wat u ziet, is gebaseerd op wat zich in die database bevindt en de padvermeldingen in de database. Bestanden in de database die naar geëmuleerde mappen verwijzen, worden niet weergegeven, omdat wordt aangenomen dat ze duplicaten zijn, aangezien het dezelfde fysieke map is als uw normale DCIM/camera. Wat er aan de hand is, is dat sommige slecht geschreven apps van derden vermeldingen in de database invoegen met het /storage/emulated/0/DCIM/Camera-pad in plaats van het juiste rootpad naar DCIM/Camera. Wat betekent dat de MTP-service ze niet kan zien wanneer u bent aangesloten op uw pc.
Meestal is de eenvoudigste manier om het probleem op te lossen, gewoon de MediaStore-databases wissen om de slechte vermeldingen uit de MediaStore-database te halen en het systeem de bestanden opnieuw te laten indexeren en met de juiste paden in de database te plaatsen.
Instellingen->apps
Druk op het menu met 3 stippen in de rechterbovenhoek en selecteer Systeem weergeven
Zoek Media Opslag, Selecteer het, Selecteer Opslag, dan Gegevens wissen
Zoek externe opslag, selecteer het, selecteer opslag en vervolgens gegevens wissen
Schakel de telefoon uit, schakel de telefoon weer in, wacht tot de indexerservice de gegevens opnieuw heeft opgebouwd.
Als je klaar bent, zouden de bestanden moeten verschijnen met de juiste mappenboom en zichtbaar zijn vanaf de pc. Afhankelijk van het aantal bestanden op de telefoon kan het 10-20 minuten duren om de mediadatabase opnieuw op te bouwen terwijl de service de telefoongidsen doorloopt, metagegevens ophaalt, miniaturen maakt, enz.
Antwoord 8, autoriteit 18%
Hier is het te vinden op /mnt/shell/emulated/0
Antwoord 9, autoriteit 18%
Android raadt aan om Environment.getExternalStorageDirectory.getPath()
aan te roepen in plaats van hardcoding /sdcard/
in de padnaam. Dit retourneert de primaire gedeelde/externe opslagmap. Dus als opslag wordt geëmuleerd, wordt /storage/emulated/0
geretourneerd. Als u de apparaatopslag verkent met een bestandsverkenner, is de genoemde map /mnt/sdcard
(bevestigd op Xperia Z2 met Android 6).
Antwoord 10, autoriteit 9%
Probeer het vanaf
ftp://ip_my_s5:2221/mnt/sdcard/Pictures/Screenshots
die verwijzen naar /storage/emulated/0
Antwoord 11, autoriteit 9%
In mijn geval komt /storage/emulated/0/ overeen met het hoofdpad van mijn apparaat. Als ik bijvoorbeeld een foto maak met de standaard cameratoepassing van mijn telefoon, worden de afbeeldingen automatisch opgeslagen /store/emulated/0/DCIM/Camera/mypicname.jpeg
Stel bijvoorbeeld dat u uw afbeeldingen wilt opslaan in de map /Pictures, namelijk in de map Afbeeldingen die in de hoofdmap bestaat. Dus gebruik je de onderstaande code.
File storageDir = Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_PICTURES );
Als u de afbeeldingen in de DCIM- of Downloads-directory wilt opslaan, geeft u de onderstaande argumenten op voor de methode Environment.getExternalStoragePublicDirectory() die hierboven is weergegeven.
Environment.DIRECTORY_DCIM
Environment.DIRECTORY_Downloads
Geef vervolgens uw afbeeldingsnaam op:
String imageFileName = "JPEG_" + timeStamp + "_";
Maak vervolgens het bestandsobject aan zoals hieronder weergegeven. U specificeert het achtervoegsel als het 2e argument.
File image = File.createTempFile(
imageFileName, // prefix
".jpg", // suffix
storageDir // directory
);
Antwoord 12
als u Android-apparaatmonitor en Android-emulator gebruikt: ik heb op de volgende manier toegang gekregen:
Gegevens/Media/0/
Antwoord 13
Om je foto’s te HERSTELLEN vanuit /storage/emulated/0/ open je gewoon het 100Andro-bestand. Daar zul je je foto’s zien, hoewel je er misschien geen toegang toe hebt in je pc-verkenner. Open daar elke foto één voor één, ga verder met instellen (drie puntjes..) en sla de foto op. Het zal verschijnen in het Android-bestand ‘Pictures’ van waaruit je ze ook kunt kopiëren met je verkenner. Er is echter geen functie ‘alles opslaan’, dus het moet één voor één worden gedaan, maar het werkt.
QT
Antwoord 14
Bestanden op apparaat bekijken met apparaatverkenner
https://developer.android.com/studio/debug/device -file-explorer
Antwoord 15
Als u een simulator in Android Studio op Mac gebruikt, kunt u naar View -> Tool Windows -> Device File Explorer
. Hier kunt u een vinderachtige structuur gebruiken.
Antwoord 16
voor Xamarin Android
Opdracht gebruiken
//haal de bestandsmap
Image image =new Image() { Source = file.Path };
dan in opdracht
adb pull //het pad van het afbeeldingsbestand hier