В Android Я использую FileObserver, чтобы наблюдать за папкой и что-то делать, когда создается новый файл.
Я заметил, что событие CREATE генерируется на Android 5 и Android 7, но НЕ генерируется на Android 8. Есть идеи почему?
Это псевдокод.
public class FolderObserver extends FileObserver {
String path;
static final int mask = (FileObserver.CREATE);
public FolderObserver(String path) {
super(path,mask);
this.path = path;
}
void doSomeAction(string file){}
@Override
public void onEvent(int i, @Nullable String s) {
switch (i) {
case FileObserver.CREATE:
// this event is generated on Android 5 and 7
// but is NOT generated on Android 8
doSomeAction(s);
break;
default:
break;
}
}
}
....
/*
in my client
*/
FolderObserver observer = new FolderObserver(myPath);
observer.startWatching();