title: What happens to cursors to MediaStore when the underlying database gets updated?
body: <p>In my app (a small mp3-player for an university project) I'm doing query <code>MediaStore.Audio.Media.EXTERNAL_CONTENT_URI</code>. Currently, I'm caching the songs to an array, but I'm thinking of moving it over to just using the <code>Cursor</code> object.</p>
  
  <p>I can see a few problems:</p>
  
  <ol>
  <li>The underlying database can get updated (the Android device detected a song getting added or removed)</li>
  <li>A song gets removed without the database getting updated.</li>
  </ol>
  
  <p>For the first point:</p>
  
  <ul>
  <li>what happens to the cursor when the database gets updated?</li>
  <li>How can I detect when MediaStore gets updated?</li>
  </ul>
  
  <p>For the second point:</p>
  
  <ul>
  <li>Is the only thing I can do to detect this to try to access the resource and see whether it fails?</li>
  </ul>