ANDROID: ярлык изображения заставляет галерею перестраивать альбомы - PullRequest
1 голос
/ 08 марта 2011

Я практикую свои навыки работы с Android, создавая приложение, которое просто создает ярлыки на главном экране для файлов на SD-карте, позволяя Android открывать их с помощью приложения по умолчанию.

Все хорошо и работает, однако когдаЯ создаю ярлык для изображения, следующее происходит

  1. Галерея показывает тост "Загрузка новых альбомов и фотографий" на несколько секунд
  2. Тост исчезает на секунду
  3. Тост снова появляется на несколько секунд
  4. Наконец-то появляется фотография.

Следует также отметить, что при открытии файла через другой файловый менеджер галерея не показывает ни одного из этих тостов, однакоон показывает изображение с буферизацией в низком разрешении в течение полсекунды, а затем изображение в высоком разрешении.Также обратите внимание, что это поведение очевидно для нескольких файлов \ типов (все равно пробовал jpegs и pngs).

Это мое намерение для самого ярлыка (путь, очевидно, является строкой пути + имени файла):

Intent shortcutIntent = new Intent ();
shortcutIntent.setAction(android.content.Intent.ACTION_VIEW);
File file = new File(path);
Uri uri = Uri.fromFile(file);
MimeTypeMap map = MimeTypeMap.getSingleton();
String mime = map.getMimeTypeFromExtension(MimeTypeMap.getFileExtensionFromUrl(uri.toString().toLowerCase())); 
shortcutIntent.setDataAndType(uri, mime);

При открытии ярлыка LogCat сообщает мне:

03-08 19:34:16.431: INFO/ActivityManager(167): Starting: Intent { act=android.intent.action.VIEW dat=file:///sdcard/download/TIMETABLE.png typ=image/png flg=0x14000000 cmp=com.cooliris.media/.Gallery bnds=[15,159][144,269] } from pid 262
03-08 19:34:16.480: INFO/Gallery(1440): onDestroy
03-08 19:34:16.511: INFO/Gallery(1440): onCreate
03-08 19:34:16.621: DEBUG/CacheService(1440): Refreshing Cache for all items
03-08 19:34:16.621: INFO/CacheService(1440): Refreshing cache.
03-08 19:34:16.721: INFO/CacheService(1440): Building albums.
03-08 19:34:16.791: INFO/RenderView(1440): First Draw
03-08 19:34:16.831: INFO/CacheService(1440): Done building albums.
03-08 19:34:16.831: INFO/CacheService(1440): Building items.
03-08 19:34:16.971: INFO/ActivityManager(167): Displayed com.cooliris.media/.Gallery: +498ms
03-08 19:34:17.001: INFO/CacheService(1440): Done building items.
03-08 19:34:17.011: INFO/MediaFeed(1440): Replacing media set 310386146
03-08 19:34:17.011: INFO/MediaFeed(1440): Replacing media set 1506676782
03-08 19:34:17.011: INFO/MediaFeed(1440): Replacing media set -1928128949
03-08 19:34:17.171: DEBUG/dalvikvm(167): GC_EXPLICIT freed 690K, 41% free 5902K/9991K, external 1612K/2124K, paused 109ms
03-08 19:34:17.361: DEBUG/dalvikvm(1083): GC_EXPLICIT freed 175K, 52% free 2678K/5575K, external 0K/0K, paused 35ms
03-08 19:34:18.521: DEBUG/AlarmManagerService(167): Kernel timezone updated to -660 minutes west of GMT
03-08 19:34:18.531: DEBUG/SystemClock(275): Setting time of day to sec=1299573259
03-08 19:34:26.127: ERROR/(1440): Not JPEG: /sdcard/download/TIMETABLE.png
03-08 19:34:26.138: DEBUG/CacheService(1440): Refreshing Cache for all items
03-08 19:34:26.138: INFO/CacheService(1440): Refreshing cache.
03-08 19:34:26.197: INFO/CacheService(1440): Building albums.
03-08 19:34:26.258: INFO/CacheService(1440): Done building albums.
03-08 19:34:26.258: INFO/CacheService(1440): Building items.
03-08 19:34:26.348: INFO/CacheService(1440): Done building items.
03-08 19:34:26.348: DEBUG/CacheService(1440): No items found for album 
03-08 19:34:26.348: INFO/GridLayer(1440): Slot changing from -1 to -1
03-08 19:34:26.358: INFO/RenderView(1440): Texture creation fail, glError 1281
03-08 19:34:26.388: WARN/MediaProvider(1083): original media doesn't exist or it's canceled.
03-08 19:34:26.388: INFO/CacheService(1440): Built thumbnail and screennail for 0 in 33

То же самое относится и к ярлыкам в формате JPEG, за исключением строки

ERROR/(1440): Not JPEG: /sdcard/download/TIMETABLE.png

.Странно, что эта ошибка все еще появляется, но галерея может и откроет pngs.

Все остальное вроде бы нормально (т.е. pdfs, аудио, видео, документы и т. Д. И т. Д.).

В любом случаелюбая помощь будет чрезвычайно полезна,

Приветствия, Сэм

1 Ответ

2 голосов
/ 09 марта 2011

Проблема решена!

Ссылка на будущее, необходимо указать mnt / sdcard / ... not /sdcard/...

Странно, что это все еще работает, но галерея запутывается.

...