#android
#Android
Вопрос:
Я не могу понять это ни за что на свете. У меня есть следующий код в качестве прослушивателя загрузки для моего webview. Когда изображение загружается с помощью этого, оно отображается в приложении Files, но не отображается в приложении Google Photos.
Обесценивается request.allowScanningByMediaScanner()
, и когда я меняю каталог на DIRECTORY_PICTURES, я вообще не вижу изображения в файлах.
Все мои изображения представлены в формате JPEG, и интересным примечанием является то, что все изображения, отображаемые в Google Фото, имеют раздел details documents/msf:int по сравнению с моими загруженными изображениями, которые являются просто documents/ msf. Кроме того, когда я переименовываю свои фотографии, загруженные менеджером загрузок, они отображаются в Google Photos.
webview.setDownloadListener { url, userAgent, contentDisposition, mimeType, contentLength ->
// Getting data
val filename = URLUtil.guessFileName(url, contentDisposition, mimeType)
val cookies = CookieManager.getInstance().getCookie(url)
// Setting up Download Request Manager
val request = DownloadManager.Request(Uri.parse(url))
request
.setMimeType(mimeType)
.addRequestHeader("cookie", cookies)
.addRequestHeader("User-Agent", userAgent)
.setTitle(filename)
.setDescription("Taken from RPI")
.setDestinationInExternalPublicDir(DIRECTORY_DOWNLOADS, filename)
// Setting up Main Download Manager
val manager = getSystemService(DOWNLOAD_SERVICE) as DownloadManager
manager.enqueue(request)
generateSnack(view, filename) // Ignore this, just makes a snackbar with the filename
Как я могу загрузить свои изображения с помощью моего менеджера загрузок для отображения в галерее?
Комментарии:
1. запрос.allowScanningByMediaScanner(); ?
2. Вы всегда можете вызвать mediascanner самостоятельно.
3. К сожалению, этот метод устарел. Как бы я сам его вызвал?
4. Странно, что в нем отсутствует
msf:int
идентификатор документа…5. Какое значение имеет то, что он устарел, когда он работает? Это не грех использовать! Помогает ли перезагрузка устройства?
Ответ №1:
Хорошо, я понял это.
По какой-то причине изображения с определенными символами просто отказываются отображаться, Google Photos
но они все равно будут отображаться Files
.
Моим конкретным примером было то, что имена моих файлов были следующими: «день-месяц-год #int». Например, одно из них было «14-11-20 # 2», потому что это была вторая фотография, сделанная в тот день.
Как только я удалил символ хэштега, все это сработало и автоматически появилось в Google Фото. Кроме того, «msf: int» по-прежнему не отображается даже при этом, но меня это не касается.