Фон
Когда пользователь загружает новое изображение или захватывает его с помощью камеры, приложение галереи обновляется, чтобы отображать новые изображения.
Мне нужно получить уведомление о каждом новом изображении сразу после его создания независимо от того, как он был создан (камера, браузер,...), как показано в приложении галереи.
Проблема
Как оказалось, есть компонент mediaScanner Android, который отвечает за сканирование всех типов медиафайлов, и когда он заканчивается, он должен отправить намерение " MEDIA_SCANNER_FINISHED" (как показано на в этом примере).
Итак, я добавил следующий код, надеясь, что он будет показывать тост каждый раз, когда пользователь берет фотографию из приложения камеры:
манифеста:
...
<receiver android:name="com.example.newgalleryimagereceivertest.MediaScannerBroadcastReceiver" >
<intent-filter>
<action android:name="android.intent.action.MEDIA_SCANNER_FINISHED" />
<data android:scheme="file" />
</intent-filter>
</receiver>
...
java файл:
package com.example.newgalleryimagereceivertest;
...
public class MediaScannerBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(final Context context, final Intent intent) {
android.util.Log.d("AppLog", "gallery has new images");
}
По какой-то причине этот код не работает...
Вопрос
Что не так с кодом?
Будет ли когда-нибудь вызываться трансляция радиопередатчика после съемки?
Каков правильный способ сделать это?
Мне действительно нужно использовать contentObserver и отслеживать его изменения (используя что-то вроде this) и сохраняйте приложение работает только для этого? Я действительно надеюсь, что не...