问题
Just want to register to video/photo taken events.
Hopefully, but not a must, the event will be triggered when the operation have finished, so I won't process half photos or half taken videos.
Already tried:
fileObserver = new FileObserver(dcimDir, FileObserver.ALL_EVENTS)
I see the events when traversing using a file manager app but not when a picture is taken nor when copying.
Ideas?
回答1:
Found a way by registering to all sub directories of dcim (except the ones that start with a period):
new FileObserver(dcimDir.toString(), FileObserver.CLOSE_WRITE)
The reason I need to register to all of them is because different phones put picutes and videos in different folders - at least they are all under DCIM.
The reason the event is 'CLOSE_WRITE' is because I want to trigger after the photo/video is complete, so I won't process only half of the photo/video.
回答2:
There is another way: ContentProvider
See another SE thread for more info: Android -- How does Google+ instant upload work?
来源:https://stackoverflow.com/questions/7275466/listen-to-photo-taken-event