Ho bisogno di ottenere il percorso assoluto del file utilizzando il descrittore di file che è stato restituito da getFileDescriptor(). Come posso farlo?Come ottenere il percorso del file utilizzando il descrittore di file su Android?
risposta
In un sistema in esecuzione con un kernel Linux, che sarebbe tutti attuali implementazioni Android, ogni descrittore di file avrà una voce in /proc/[processid]/fd
che è un link simbolico al target del descrittore di file - non solo per i file regolari , ma anche per molti altri possibili obiettivi come tubi e prese.
Ecco un esempio parziale per un cat > /mnt/sdcard/foo
processo in esecuzione su un dispositivo Android
$ ls -l /proc/3528/fd
lrwx------ shell shell 2013-06-06 10:31 0 -> /dev/pts/1
l-wx------ shell shell 2013-06-06 10:31 1 -> /mnt/sdcard/foo
lrwx------ shell shell 2013-06-06 10:31 2 -> /dev/pts/1
lrwx------ shell shell 2013-06-06 10:31 6 -> socket:[188850]
lettura collegamenti simbolici in Java "è lasciato come esercizio per il lettore".
Su un desktop Linux, c'è lo strumento lsof
che esegue il troll attraverso queste directory per tutti i processi e scarica un elenco di file aperti, tuttavia, ciò non sarebbe troppo utile su Android dove l'utilizzo di user-per-app limiterebbe trolling simile. Ma puoi ancora cercare il file fd appartenente alla tua app stessa o qualsiasi altro processo in esecuzione sotto lo stesso id utente.
- 1. Come ottenere il descrittore di file del buffer in memoria?
- 2. Come ottenere il percorso del file dall'URI?
- 3. Come ottenere il percorso del file .ipa
- 4. Ottenere il percorso assoluto del file eseguibile, utilizzando C#?
- 5. Impossibile bloccare il file utilizzando il flock con il descrittore di file
- 6. Come ottenere il nome del file dal percorso del file in Android
- 7. Come ottenere il percorso del file del modulo importato
- 8. Come ottenere il descrittore di file in node.js se apri il file usando openSync
- 9. Come ottenere il percorso del file di script InnoSetup corrente?
- 10. Come ottenere il percorso completo del file build.gradle di Groovy?
- 11. Come ottenere un flusso FILE * da un descrittore di file?
- 12. Ottenere il percorso assoluto di un file
- 13. Come ottenere il percorso e il nome del file selezionato utilizzando il controllo della finestra di dialogo Apri file
- 14. Ottenere il descrittore di file assegnato più elevato
- 15. Ottenere il percorso del file tnsnames.ora tramite il codice
- 16. Ottenere il percorso di classe del file in esecuzione
- 17. Come ottenere il nome file dal percorso file in swift
- 18. Come ottenere il nome/percorso del file Excel in VBA
- 19. Spring MVC: come ottenere il percorso del file nel controller?
- 20. Come ottenere il percorso assoluto del nome file javascript corrente
- 21. Come ottenere il percorso del file in java
- 22. Come ottenere il percorso del file corrente in javascript
- 23. Come ottenere un puntatore FILE da un descrittore di file?
- 24. Ottenere il percorso del file da un'immagine in ImageView
- 25. descrittore di socket vs descrittore di file
- 26. Descrittore di file duplicato con il proprio file offset
- 27. Come nascondere il percorso del file nell'URL?
- 28. Driver di dispositivo Linux, è possibile ottenere il numero minore utilizzando un descrittore di file?
- 29. Lettura delle informazioni di contatto utilizzando il descrittore di file in Android
- 30. Rails - Come ottenere il percorso del file (non il percorso url) per le risorse?
Bella idea per indagare su quei file di dispositivo USB! Se costruisci un apk debug, puoi usare adb shell 'run-as your.package.name' per ottenere una shell come id utente dell'app e poi mentre è in esecuzione usa ls -l da quella shell nelle voci/proc del processo app per esaminare i collegamenti fd, piuttosto che dover capire come farlo da java. –