У меня есть довольно простая реализация FileObserver:FileObserver не регистрирует СОЗДАТЬ в OnEvent
observer = new FileObserver(rootPath+"Pictures") {
@Override
public void onEvent(int event, String path) {
//event &= FileObserver.ALL_EVENTS;
Log.d("home","event: "+event);
if (event == FileObserver.CREATE) {
Toast.makeText(cont, "File created", Toast.LENGTH_SHORT).show();
}
}
};
observer.startWatching();
это не регистрируя FileObserver.CREATE constant (256)
. В моем журнале отображается several 1's (Access), a few 16's (close_nowrite) and a few 32's (open) when I create a file but never a 256
.
Я пробовал на двух устройствах (Samsung Galaxy S7 Активный и One Plus Two)
что-нибудь мне нужно сделать по-другому здесь?
Что вы можете увидеть там, где есть тосты !? Мне пришлось поместить его в runInUIThread(). Я советую вам поставить там другое заявление и показать тост с помощью события и пути. Вы могли пропустить некоторые события, которых вы не ожидали. Я поставил наблюдателя на DCIM/Camera и получил очень много тостов после съемки. Включая «Файл создан». «путь - относительный путь: только имя файла». – greenapps
хорошо, это не проблема. Я также поставил оператор Log.d() внутри my if, и он никогда не вызывается. Я регистрирую каждое событие и никогда не вижу код события для CREATE. –
Не могли бы вы также попробовать DCIM/Camera? 'Environment.getExternalStoragePublicDirectory (Environment.DIRECTORY_DCIM) .getAbsolutePath() +"/Camera ")' – greenapps