FileObserver erhält seltsame Ereignisse

8

Ok, das ist ganz einfach: Ich habe eine FileObserver-Klasse, um einen Ordner mit Musik zu beobachten. Also habe ich onEvent und all diese Sachen implementiert, aber wenn ich eine Datei in diesen Ordner verschiebe oder einfüge, benutze einen Dateimanager, anstatt einen FileObserver.MOVED_TO oder einen FileObserver.CREATE zu bekommen, bekomme ich seltsame Ereignisse mit Zahlen wie 1073741656 sind nicht dokumentiert auf: Ссылка

Wie bekomme ich diese spezifischen Ereignisse wie Löschen, Verschieben, Erstellen und Einfügen?

[Bearbeiten] Hier ist der Code:

%Vor%     
Paulo Cesar 13.06.2011, 21:12
quelle

4 Antworten

11

Für alle anderen, die darauf stoßen, habe ich festgestellt, dass die MOVED_TO- und MOVED_FROM-Ereignisse höherwertige Bits im Event-Flag aktiviert haben. MOVED_FROM ist 0x40000040 und MOVED_TO ist 0x40000080. Die Problemumgehung besteht darin, einfach und ALL_EVENTS mit dem Ereigniscode die hohen Bits zu deaktivieren, d. H. "Event & amp; = FileObserver.ALL_EVENTS"

Update: Ich habe die inotify-Flags gefunden, die Sie von Ссылка , wäre es nett, wenn Google diese Bit-Flags dem FileObserver-Dokument hinzugefügt hätte.

    
mvsjes2 04.05.2012 20:08
quelle
3

Beobachter-Event-Typ wie folgt:

%Vor%     
user736435 19.06.2012 15:37
quelle
0

Versuchen Sie, den Verweis auf Observer in Ihrer Anwendungsklasse zu verknüpfen. wie das

%Vor%

Das funktioniert für mich!

    
iscariot 10.06.2014 15:44
quelle
0

Wenn jemand anderer von Google hierher kommt, beachten Sie dies die Dokumentation :

  

startWatching ()

     

Beginne, nach Ereignissen zu suchen. Die überwachte Datei oder das überwachte Verzeichnis müssen zu diesem Zeitpunkt vorhanden sein, andernfalls werden keine Ereignisse gemeldet   (auch wenn es später erscheint) . Wenn die Überwachung bereits gestartet ist,   Anruf hat keine Wirkung.

    
Jon McClung 28.07.2017 14:42
quelle

Tags und Links