2013-07-22 10 views
8

Ich habe ein merkwürdiges Problem mit meinem Samsung Galaxy Nexus, wo Dateien, die in meiner Anwendung erstellt und geschrieben wurden, gut angezeigt werden, wenn auf dem Telefon selbst zugegriffen wird (via ES File) Explorer), aber wenn ich versuche, die gleichen Dateien auf meinem PC zu sehen (mit Telefon, das über USB verbunden ist), werden sie als 0 Bytes angezeigt (und leer, wenn sie geöffnet sind).Dateien, die auf dem PC als leer angezeigt werden, auf dem Smartphone aber nicht leer

Diese sollten normale Textdateien sein, die ich mit neuer Datei (Verzeichnis, Dateiname) erstelle und mit der Write-Methode von PrintWriter schreibe. Ich füge auch die neuen Dateien mit MediaScannerConnection.scanFile der Inhaltsdatenbank hinzu.

Ich habe im Grunde den gleichen Code in früheren Anwendungen (> 6 Monaten) ohne Probleme verwendet, so dass ich wirklich verwirrt bin, warum es jetzt nicht funktioniert. Hat jemand ähnliche Probleme gehabt?

UPDATE:

Noch Fehlersuche dieses ... zwei weitere Beobachtungen haben mich völlig verwirrt:

  1. Ich habe versucht, die gleichen Dateien auf einem anderen PC zugreifen, und sie hat gut funktioniert. Dies brachte mich auf den Gedanken, dass es ein Treiberproblem sein könnte, aber das wäre immer noch seltsam, weil ich den Treiber überhaupt nicht geändert habe (ich habe dieses Problem nie zuvor erlebt).

  2. Ich habe versucht, Dateien mit einer anderen Anwendung zu erstellen, die ich zuvor erstellt habe. Es verwendet im Grunde die gleiche FileIO-Klasse für die Erstellung von Dateien usw. Diese Probleme treten bei dieser Anwendung nicht auf.

+0

Ich würde versuchen, diese andere Methode der Warnung MediaScanner: http://stackoverflow.com/a/17391679/833647 –

+0

Versuchte diese Methode, aber ich bekomme die gleichen Ergebnisse. – robguinness

+0

Hatte das gleiche Problem aber nur für einen Ordner auf meinem Gerät, erstellt mit ES Explorer. Der Fix für mich war, den Ordner auf dem Telefon umzubenennen, der den neuen Namen UND den alten Namen in Windows Explorer erscheinen ließ. was auch immer das ist, es zeigt jetzt die Dateien an. – lucidbrot

Antwort

4

Ich konfrontiert das gleiche Problem. Dies hat damit zu tun, wie MTP (Media Transfer Protocol) definiert ist.

MTP hat ein paar Nachteile. Wikipedia listet sie als:

  1. beim Öffnen einer Datei muss der Benutzer warten, bis die Datei auf den PC kopiert hat, bevor sie angezeigt werden kann. (Hinweis: Die Datei bleibt auf dem PC hart Laufwerk nach der Anzeige und das Gerät wird entfernt)
  2. Keine Erstellung von Dateien auf dem Gerät vom PC, Dateien müssen auf dem PC erstellt und kopiert werden.
  3. Keine Bearbeitung von Dateien auf dem Gerät, Dateien müssen vom Gerät kopiert werden, bevor Bearbeitungen gespeichert und Dateien zurückkopiert werden können.

In meinem Fall Schirmkappe ich nahm, während das Telefon über USB angeschlossen wurde herauskam in Größe 0 kb sein (auf dem PC). Aber das Trennen und Stecken des USB löste das.

+0

Versucht, das zu beheben (USB-Stecker ziehen und stecken), aber es hilft nicht.Ich glaube nicht, dass ich irgendeinen der drei Punkte verletze, die Wikipedia erwähnt. Aber ich stimme zu, dass MTP viele Nachteile hat! – robguinness

+0

Ja, könnte ein separates Problem sein. Nur um es klar zu sagen, die Screenshots, die zuvor eine Größe von 0 kb hatten, wurden nach dem "unplug-replug" -Hack auf ihre jeweilige Größe gebracht. Screenshots, die während der Verbindung gemacht wurden, waren immer noch 0 kb groß. – Vikram

1

Ich hatte das gleiche Problem, als ich mein Telefon eingesteckt sagte, der Ordner war leer, aber als ich mein Telefon entsperrt alle Dateien auf meinem Computer erschien. Ich habe ziemlich strenge Sicherheitseinstellungen, aber es ist einen Versuch wert.