Search code examples
androidexternalinternalmediastore

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.


Solution

  • 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