Why an Android may delete data saved under Media.EXTERNAL_CONTENT_URI?
<p>Why an Android may delete data saved under Media.EXTERNAL_CONTENT_URI after unmount/mount SD card action? How to avoid this?</p>

<p>I save ringtones using this URI and the default content resolver from context.</p>

<p>The code is similar to that:</p>

<pre><code>ContentValues values = new ContentValues();
values.put(Media.DATA, AudikoFileStorageAccessor.getInstance().getAbsolutePathForRingtone(ringtone.getId()));
values.put(Media.TITLE, ringtone.mSong);
values.put(Media.DISPLAY_NAME, ringtone.mSong);
values.put(Media.ARTIST, ringtone.mArtist);
values.put(Media.MIME_TYPE, "audio/mpeg");
values.put(Media.SIZE, ringtone.mSize * 1024);
values.put(Media.IS_RINGTONE, (RingtoneManager.TYPE_RINGTONE == type || type == 0));
values.put(Media.IS_NOTIFICATION, (RingtoneManager.TYPE_NOTIFICATION == type));
values.put(Media.IS_ALARM, (RingtoneManager.TYPE_ALARM == type));
values.put(Media.IS_MUSIC, false);

Uri newUri = mContext.getContentResolver().insert(
                Media.getContentUriForPath(AudikoFileStorageAccessor.getInstance().getAbsolutePathForRingtone(
                        ringtone.getId())), values); 

RingtoneManager.setActualDefaultRingtoneUri(mContext, type, newUri);
</code></pre>

<p>Everything works fine, but after I unmount SD card and then mount it again this ringtone doesn't exist anymore and couldn't be found within this table.</p>

<p>Should I handle UNMOUNT event and backup somehow my saved data and restore it as soon as SD card is available again?</p>
