Android API для обнаружения новых носителей со встроенной камеры и микрофона

Есть ли какой-нибудь элегантный способ в Android API для обнаружения новых носителей при его записи на устройство? Меня в основном интересуют фотографии, сделанные камерой, видео, снятое камерой, и звук, записанный с микрофона.

Мое настоящее мышление заключается в периодическом сканировании каждого поставщика медиа-контента и фильтрации на основе последнего времени сканирования.

Мне просто интересно, есть ли какая-то услуга, с которой я могу подключиться, чтобы получать уведомления в реальном времени.

Solutions Collecting From Web of "Android API для обнаружения новых носителей со встроенной камеры и микрофона"

Существует специальный трансляционный Intent, который следует вызывать каждый раз, когда приложение записывает что-то новое в Media Store:

Intent.ACTION_MEDIA_SCANNER_SCAN_FILE 

Broadcast Intent включает путь к новому файлу, доступный через метод Intent.getDataString() .

Чтобы прослушать его, просто создайте BroadcastReceiver и зарегистрируйте его с помощью IntentFilter как показано ниже:

 registerReceiver(new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String newFileURL = intent.getDataString(); // TODO React to new Media here. } }, new IntentFilter(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE)); 

Это будет работать только для файлов, вставленных в один из поставщиков содержимого медиа-хранилища. Кроме того, это зависит от приложения, которое помещает его там, транслируя намерение, которое делает все приложение (Google).

Ага!

Наблюдатель содержания – это то, что мне нужно!

Вот где я узнал об этом