Ich habe Probleme mit FILEObserver und ContentObserver , die in Android Marshmallow nicht funktionieren. Ich verwende dieses Ding, um Änderungen innerhalb eines Ordners zu erkennen. Ich habe Laufzeitberechtigungen für Marshmallow festgelegt. Aber auch danach zeigt es keine Ereignisse. Es funktioniert perfekt in anderen Versionen. Bitte helfen Sie mir, dieses Problem zu lösen.
Zuerst habe ich Content Resolver im Service versucht, Ordneränderungen im Hintergrund zu erkennen.
%Vor%Und Laufzeit Berechtigungen wie:
%Vor% Und erhielt diese Berechtigungen in onRequestPermissionsResult
.
Diese Methode hat bei mir nicht funktioniert. Also habe ich versucht mit FileObserver
in diesem Service. Zu dieser Zeit funktioniert es auch in allen anderen Plattformen, aber nicht in Marshmallow.
Dies scheint ein Fehler in Marshmallow zu sein, hier .
>Sie können es nur versuchen, indem Sie nach Informationen suchen, die Sie benötigen.
Wie gut das für Sie funktioniert, hängt von Ihrem Anwendungsfall ab. Ich habe festgestellt, dass es für die Verfolgung des Download-Fortschritts nützlich ist: Starten Sie das Abrufen, wenn der Download startet, mit einem Intervall von einer Sekunde, und stoppen Sie, wenn der Download beendet ist.
Wenn Sie sehr seltene Änderungen erwarten, können Sie versuchen, das Intervall zu erhöhen - auf Kosten einer potenziell höheren Verzögerung zwischen den Änderungen und dem Abholen durch Ihre App.
Tags und Links android android-permissions android-6.0-marshmallow contentobserver fileobserver