title: How to get the Uri from MediaStore via file path?
body: <p>In my program, I want to save a selected ringtone by it's file path, and then set it as the current ringtone later.</p>
  
  <p>I have got the ringtone uri from RingtonePreference, and get the file path of it from MediaStore database.</p>
  
  <p>e.g.</p>
  
  <pre>
  Uri - content://media/internal/audio/media/29
  Path - /system/media/audio/notifications/Ascend.mp3
  </pre>
  
  <p>Now, how to I get the ringtone Uri from the file path i saved ?</p>
  
  <p>Since the ringtone already exist in MediaStore, I tried the following functions, but it's not working. </p>
  
  <pre>
  uriRingtone = MediaStore.Audio.Media.getContentUriForPath(szRingtonePath);
  </pre>
  
  <p>The Uri is not the same as the one I got from RingtonePreference.</p>
  
  <pre>
  uriRingtone - content://media/internal/audio/media
  </pre>
  
  <p>How do I query the MediaStore to get the Uri I need?</p>
  
  <p>p.s. the reason that I don't store the ringtone Uri directly is that I found the Uri for the same ringtone might change sometimes in some device.</p>