У меня есть требование отслеживать любой новый файл изображения типа .jpg, созданный на устройстве. Я сделал это, используя ContentObserver
на MediaStore
, используя класс MediaStoreObserver
ниже, и зарегистрировал то же самое в одном из моих сервисов.
Я заметил, что метод onChange()
вызывается много раз для создания одного файла. Я понимаю, что созданный медиафайл обновляется во многих таблицах MediaStore
, поэтому onChange()
вызывается много раз.
Мой вопрос: Как зарегистрироваться на MediaStore
ТОЛЬКО для операции создания/редактирования файла изображения?
- Заранее спасибо, Манджу.
private class MediaStoreObserver extends ContentObserver {
public MediaStoreObserver() {
super(null);
}
@Override
public void onChange(boolean selfChange) {
super.onChange(selfChange);
//check image file changes in MediaStore
readFromMediaStore(_context,MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
}
}
//register for external media changes for image files
if(mediaStoreObserver!=null){
_context.getContentResolver().registerContentObserver(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
false,mediaStoreObserver);