Сподіваюся, хтось може пояснити це для мене ... Я працюю на простій програвач відео, який відтворює відеокліп, що зберігається на телефоні.
Усі приклади, які я бачив для отримання відео, використовуючи 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