问题标签 [fileobserver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1984 浏览

java - Linux + Java + Windows:检查文件是否完全复制

我有一个 Java 应用程序,它监视目录中的新文件并处理它在目录中看到的任何新文件。应用程序需要在 linux 和 windows env 上运行。问题出在 Linux 上,当用户手动复制目录中的文件时,应用程序会在文件完全复制到目录之前选择该文件。尝试使用各种方法锁定文件,但即使文件仍在被 linux 系统复制,应用程序也能够获取文件的锁定。我也考虑过使用lsof命令检查文件,但它是特定于 linux 的,所以我试图避免这种情况。


有人可以建议一种方法来防止应用程序拾取不完整的文件吗? 提前致谢。

0 投票
1 回答
1556 浏览

java - 安卓 | 内容观察者 | 内容 URI 不包含资源 ID

我正在尝试检测 Android 应用程序上的屏幕截图。我正在使用 contentObserver 来检测媒体目录中的更改,而不是使用 FileObserver,因为它在 Android M 上存在已知问题。

这是代码片段:

当 onChange 被调用时(在截取屏幕截图/媒体文件夹中的任何其他更改之后),URI 是“ content://media/external/images/media ”而不是包含资源 ID 的整个 URI,例如:内容: //media/external/images/media/12345,这发生在我尝试过的大多数设备上——Moto G3(Android 6.0.1)、Nexus 5(Android 6.0),我得到了整个 URI(包括 ID)在运行 6.0.1 的三星 S5 上。

这是一个已知问题吗?

我怎样才能得到身份证呢?

遍历整个媒体目录并查找是否在应用程序处于活动状态时截取屏幕截图并不是一个优化的解决方案,而是在内容 URI 中获取资源 ID 可以解决问题,因为我们可以直接获取文件的路径并检测是否它是一个屏幕截图文件,但观察者仍会观察所有媒体内容的变化(例如,它还会观察到后台发生的 WhatsApp 图像下载)。

0 投票
0 回答
265 浏览

android - Android FileObserver 在棉花糖上的奇怪行为

我正在使用 FileObserver 更新使用 runOnUiThread 的片段内的 recyclerview 列表文件。我注意到一些非常有趣的事情。每当我启动我的应用程序并在内部存储的顶级目录中调用 onEvent 时,recyclerview 不会更新,但是当我使用其他一些操作重置或更新片段时,ui 会开始更新。有趣的是 onEvent 被触发了,我检查了一下,只是 UI 没有更新。我工作了 2-3 个小时,以为问题出在我的应用程序上,但后来我尝试使用 2、3 个文件管理器并注意到相同的行为。到底是怎么回事?

0 投票
1 回答
330 浏览

android - Android - 监听新的图像文件

我的应用程序保留了一个数据库,其中包含有关用户手机上所有图像的一些信息。但是,一旦他们添加了新图像(例如通过拍照),我的应用程序应该能够知道这一点,并将新图像的信息添加到数据库中。显然不想遍历整个数据库来检查哪些是新图像..

我的研究表明,我可以使用 FileObserver 拥有一个“文件侦听器”。但是,我知道这仅在我的应用程序运行时有效。因此,如果我实现 FileObserver,关闭应用程序然后打开它,我是否能够知道自上次打开应用程序以来哪些是新图像?

如果不是,那么我知道我需要某种后台服务,但是在文档中说它们应该被实现为只使用简单/非繁重的操作......并且因为我将观察所有子目录(recusrively)对于使用 FileObserver 的新图像,我想这将是一项昂贵的操作?如果服务停止运行,并且在此期间添加了新图像,会发生什么情况。FileObserver 会选择这个吗?

谢谢

0 投票
1 回答
301 浏览

java - onEvent 未检测到我的应用程序中的任何事件

我正在尝试使用 来监视手机的屏幕截图目录FileObserver,我尝试了所有事件,方法onEventid 没有在任何事件上被调用。我所做的是在安装应用程序后,截取了一张截图,但没有调用该方法。甚至尝试通过文件选择器更改目录并选择相机文件夹并拍了一张照片,但仍然没有采取任何措施onEvent。这是我的代码:MAINACTIVITY:

文件观察类:

0 投票
1 回答
1124 浏览

android - FileObserver 在后台监听,Android O

FileObserver在我的应用程序中,现在它在后台运行,如果注册了新文件 - 将其实例化上传到前台服务中的某个服务器。

在 Android O 中,我们应该使用 FirebaseJob Dispatcher 在后台做一些工作,但是我们如何应用它FileObserver呢?有什么方法可以在后台分析数据吗?或者也许它从现在开始就无法使用FileObserver

0 投票
1 回答
981 浏览

android - 如何获得从 SD 卡中删除任何文件的通知

我想创建类似应用程序的Dumpster,为此我希望在用户删除任何文件时收到通知,以便我可以将其保存到我的应用程序内存中。

我使用了 File Observer,但它在文件删除后发出通知,而在 marshmallow 中它也没有通知删除。我将此链接称为文件观察者。我在某处读到它可以使用本机编程语言(C),但无法获得任何解决方案。我怎样才能做到这一点?提前致谢。

我试过这个:

0 投票
1 回答
769 浏览

android - 监控 Android 服务中的文件夹

我有一个 Android 应用程序,我想监视一个文件夹。我做了一个服务(我想不停地监控文件夹,即使用户杀死了应用程序),我把文件夹的路径放在 Intent 的附加部分中。在服务中,我有一个 FileObserver,它应该监视我的文件夹并在文件夹内创建文件时触发事件。问题是该事件永远不会被触发。难道我做错了什么?谢谢!

0 投票
1 回答
586 浏览

android - 如何在 Android 中使用 FileObserver 监控“/sys/class/”

我正在尝试通过使用来监视“/sys/class/udc”文件夹FileObserver。我的应用程序是系统私有应用程序,因此不应该存在权限问题。我无法检测到更改事件。

是否FileObserver支持“/sys/class”文件的监控?

0 投票
0 回答
161 浏览

android - 在棉花糖上使用 MTP 复制文件时,Android FileObserver 无法正常工作

我有一个 FileObserver 观察外部存储中的文件夹上的 ALL_EVENTS(用于测试目的)。

FileObserver 将触发来自平板电脑的任何事件。例如,如果我的应用程序或平板电脑上的另一个应用程序在此文件夹中创建了一个文件,它就可以正常工作。

但是,在较新的 Marshmallow 系统上,使用 MTP 复制文件时不会触发任何内容。如果我用 shell 复制文件也是一样的。过去,一切都可以在我们以前的 Lollipop 系统上运行。

知道为什么会发生这种情况吗?