2013-07-22 15 views
8

Ho un problema strano con il mio Samsung Galaxy Nexus, dove i file creati e scritti nella mia applicazione sono visualizzati correttamente quando si accede al telefono stesso (tramite ES File Explorer), ma quando provo a visualizzare gli stessi file sul mio PC (con il telefono collegato tramite USB), vengono visualizzati con 0 byte (e vuoti quando aperti).File che appaiono vuoti sul PC ma non vuoti sullo smartphone

Questi dovrebbero essere normali file di testo, che sto creando utilizzando il nuovo file (dir, nomefile) e la scrittura con il metodo di scrittura di PrintWriter. Sto anche aggiungendo i nuovi file al database del contenuto utilizzando MediaScannerConnection.scanFile.

Ho usato praticamente lo stesso codice in applicazioni precedenti (> 6 mesi fa) senza problemi, quindi sono davvero confuso sul motivo per cui non funziona ora. Qualcuno ha avuto problemi simili?

UPDATE:

Ancora Eliminare personalmente i guasti ... altre due osservazioni mi hanno assolutamente confuso:

  1. Ho provato accesso gli stessi file su un altro PC, e hanno lavorato bene. Questo mi ha fatto pensare che potrebbe essere un problema di driver, ma sarebbe comunque strano perché non ho affatto cambiato il driver (non ho mai avuto questo problema prima).

  2. Ho provato a creare file utilizzando un'applicazione diversa creata in precedenza. Utilizza fondamentalmente la stessa classe FileIO per la creazione di file, ecc. Nessun problema riscontrato con questa applicazione.

+0

Vorrei provare questo altro metodo per avvisare MediaScanner: http://stackoverflow.com/a/17391679/833647 –

+0

Ho provato questo metodo, ma ottengo gli stessi risultati. – robguinness

+0

Aveva lo stesso problema ma solo per una cartella sul mio dispositivo, creata con ES explorer. La soluzione per me era di rinominare la cartella sul telefono, che ha fatto apparire il nuovo nome E il vecchio nome in Windows Explorer. qualunque cosa sia, ora mostra i file. – lucidbrot

risposta

4

Ho affrontato lo stesso problema. Questo ha a che fare con il modo in cui è definito MTP (Media Transfer Protocol).

MTP presenta alcuni inconvenienti. Wikipedia li elenca come:

  1. Quando si apre un file, l'utente deve aspettare che il file è copiato sul PC prima che possa essere visualizzato. (Nota: il file rimane sul disco rigido del computer dopo la visualizzazione e il dispositivo viene rimosso)
  2. Nessuna creazione di file sul dispositivo dal PC, i file devono essere creati sul PC e copiati.
  3. Nessuna modifica dei file sul dispositivo, i file devono essere copiati dal dispositivo prima che le modifiche possano essere salvate e il file copiato.

Nel mio caso, cappucci dello schermo che ho preso mentre il telefono era collegato tramite USB è venuto fuori per essere 0 kb di dimensioni (su PC). Ma, scollegare e collegare l'USB risolto questo.

+0

Provato quella correzione (scollegare e collegare USB), ma non aiuta.Non penso di violare nessuno dei tre articoli menzionati da Wikipedia. Ma sono d'accordo che MTP ha molti inconvenienti! – robguinness

+0

Sì, potrebbe essere un problema separato. Per essere chiari, gli screenshot precedentemente dimensionati a 0 kb sono andati alle loro rispettive dimensioni dopo l'hack unplug-replug. Gli screenshot eseguiti mentre erano connessi erano ancora di 0 kb. – Vikram

1

Ho avuto lo stesso problema, quando ho collegato il mio telefono diceva che la cartella era vuota, tuttavia quando ho sbloccato il mio telefono tutti i file sono comparsi sul mio computer. Ho delle impostazioni di sicurezza abbastanza stringenti, ma vale la pena provarlo.