Я загружаю файл из Fragment
асинхронно и хотел бы вызвать MediaScannerConnection.scanFile()
, когда загрузка завершится.Я могу получить желаемый результат, если я сижу и жду окончания загрузки, не отходя от своего фрагмента (или его хостинга).Проблема, с которой я сталкиваюсь, заключается в том, что для MediaScannerConnection.scanFile()
требуется контекст, и я не хочу ограничивать пользователя пребыванием в пределах Fragment
/ Activity
только для того, чтобы контекст не был нулевым.
Как использовать MediaScannerConnection.scanFile()
в фоновом режиме, чтобы я мог сканировать файлы и отображать Toast
, когда сканирование завершено, в то же время перемещаясь по другим частям моего приложения (или даже вкладкимоего приложения)?
Вот как я сейчас сканирую (с контекстом):
public static void mediaScanFile(Context context, String path) {
MediaScannerConnection.scanFile(context,
new String[]{path}, null,
new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String path, Uri uri) {
Log.d("Tag", "Scan finished. You can view the image in the gallery now.");
}
});
}