/ / internal vs external uri на витягування даних з mediastore - андроїд, зовнішній, внутрішній, mediastore

Внутрішнє проти зовнішнього uri на вибірку даних з mediastore - андроїд, зовнішній, внутрішній, mediastore

Сподіваюся, хтось може пояснити це для мене ... Я працюю на простій програвач відео, який відтворює відеокліп, що зберігається на телефоні.

Усі приклади, які я бачив для отримання відео, використовуючи MediaStore.Video.Media.EXTERNAL_CONTENT_URI, вміст Uri, щось подібне

cursor = resolver.query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, cols, whereClause, null, sortOrder);

Але воно не обмежить список лише файлами, які зберігаються на SD-карті?

Новіші андроїд-телефони мають значну кількість внутрішньої пам'яті - наприклад, Samsung Galaxy S зазвичай поставляється з 16Gb на внутрішній пам'яті і 2Gb sd-карти.

Чи потрібно двічі сканувати медіастаті із зовнішнім вмістом uri і внутрішнім?

Знову я побачив, як 10 прикладів для аудіо і відео плеєрів і всі вони використовують тільки зовнішні.

Навіть перевірив вихідний код для музичного плеєра і він також тягне тільки з зовнішньої карти.

Відповіді:

8 для відповіді № 1

провів деякі тести, і, здається, відповідь на це залежить. На емуляторі андроїда і HTC mytouch він вибирає тільки елементи на зовнішній SD-карті, тоді як на Samsung Galaxy S він фактично витягує з внутрішньої пам'яті теж.

Це та частина, яку я дійсно ненавиджу про андроїд - чому такі прості речі настільки різні


1 для відповіді № 2

Ви можете просто використовувати

MediaStore.Video.Media.INTERNAL_CONTENT_URI