Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

internal vs external uri on fetching data from mediastore

Hopefully someone can clarify this to me...I am working on a simple video player app that plays video clip stored on phone.

All examples I've seen fetch video using MediaStore.Video.Media.EXTERNAL_CONTENT_URI content Uri, something like that

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

But won't it limit the list to only files stored on SD card?

Newer android phones has significant amount of internal memory - for example, Samsung Galaxy S typically comes with 16Gb on internal memory and 2Gb sd card.

Should I scan mediastore twice with external content uri and internal one?

Again I saw like 10 examples for audio and video players and all of them use external only.

Even checked source code for the stock music player and it also pulls only from external card.

like image 296
mishkin Avatar asked Dec 29 '22 02:12

mishkin


2 Answers

ran some tests and it seems the answer it depends. On android emulator and HTC mytouch it fetches only items on external SD card, while on Samsung Galaxy S it actually pulls from internal storage too.

This is the part I really hate about android - why such simple things are so different

like image 174
mishkin Avatar answered Mar 24 '23 20:03

mishkin


Can you just use

MediaStore.Video.Media.INTERNAL_CONTENT_URI

like image 42
blorgggg Avatar answered Mar 24 '23 19:03

blorgggg