Android 聆听拍照活动

Android 聆听拍照活动,android,filesystems,photo,Android,Filesystems,Photo,只想注册到视频/照片拍摄活动 希望,但不是必须的,该事件将在操作完成后触发,因此我不会处理一半的照片或一半的拍摄视频 已尝试: fileObserver = new FileObserver(dcimDir, FileObserver.ALL_EVENTS) 我在使用文件管理器应用程序进行遍历时看到事件,但在拍照或复制时看不到事件 Ideas?找到了一种方法,注册到dcim的所有子目录(以句号开头的子目录除外): 我需要向所有手机注册的原因是,不同的手机将图片和视频放在不同的文件夹中——至少它

只想注册到视频/照片拍摄活动

希望,但不是必须的,该事件将在操作完成后触发,因此我不会处理一半的照片或一半的拍摄视频

已尝试:

fileObserver = new FileObserver(dcimDir, FileObserver.ALL_EVENTS)
我在使用文件管理器应用程序进行遍历时看到事件,但在拍照或复制时看不到事件


Ideas?

找到了一种方法,注册到dcim的所有子目录(以句号开头的子目录除外):

我需要向所有手机注册的原因是,不同的手机将图片和视频放在不同的文件夹中——至少它们都在DCIM下


事件为“CLOSE_WRITE”的原因是我想在照片/视频完成后触发,因此我不会只处理一半的照片/视频。

找到了一种方法,注册到dcim的所有子目录(以句点开头的子目录除外):

我需要向所有手机注册的原因是,不同的手机将图片和视频放在不同的文件夹中——至少它们都在DCIM下

事件为“CLOSE_WRITE”的原因是我想在照片/视频完成后触发,所以我不会只处理一半的照片/视频。

还有另一种方法:

有关更多信息,请参阅其他SE线程:

还有另一种方法:


有关更多信息,请参阅另一个SE线程:

可能我需要侦听(注册)dcim文件夹中的每个文件夹,因为文件事件只触发直接父级,而不触发某些祖级-即使在文档中他们说侦听器是递归的。另一个选项可能是使用某些DB侦听器。有人知道吗?可能是重复的?虽然这个答案可能不是最好的解决方案。史蒂文,这是一个完全不同的问题,可能有着相似的解决方案。我要的是他在思考广播接收机为什么不工作时拍摄的收听技术的照片。也许我需要收听(注册)因为文件事件只触发直接父级而不是某个祖级,即使在文档中他们说侦听器是递归的。另一个选项可能是使用某个DB侦听器。有人知道吗?可能是重复的?虽然这个答案可能不是最好的解决方案。史蒂文,这是一个完全不同的问题,可能有着相似的解决方案。我在问他为什么广播接收器不工作的原因,他正在考虑用监听技术拍摄的照片。这个应用程序的主要缺点是,它需要监听的应用程序始终保持运行,因此如果系统杀死它,它将无法工作。这不是真的。如果您在服务中以sticky(service.START\u sticky)注册observer,或者即使您将其设置为前台服务(使用service.startForeground()),系统也不会将其杀死,如果是这样,它会尽快重新启动。此应用程序的主要缺点是,它要求侦听的应用程序始终保持运行,因此,如果系统杀死它,它将不起作用。事实并非如此。如果您在服务中以sticky(service.START\u sticky)注册observer,或者即使您将其设置为前台服务(使用service.startForeground()),系统也不会将其杀死,如果是这样,它会尽快重新启动。此应用程序的主要缺点是,它要求侦听的应用程序始终保持运行,因此,如果系统杀死它,它将不起作用。事实并非如此。如果您在服务中以sticky(service.START\u sticky)注册observer,或者即使您将其设置为前台服务(使用service.startForeground()),系统也不会将其杀死,如果是这样,它会尽快重新启动。此应用程序的主要缺点是,它要求侦听的应用程序始终保持运行,因此,如果系统杀死它,它将不起作用。事实并非如此。如果将观察者注册为sticky(service.START\u sticky)启动的服务,或者即使将其设置为前台服务(使用service.startForeground()),系统也不会终止它,如果是,它会尽快重新启动它。
new FileObserver(dcimDir.toString(), FileObserver.CLOSE_WRITE)