title: External Storage Permission Issue with MediaProvider / Ring Tones
body: <p>Some of my users have reported to Google Play the following error when trying to select a ringtone in my app. (there's more to it, but it's not relevant)</p>
  
  <pre><code>java.lang.SecurityException: Permission Denial: 
  reading com.android.providers.media.MediaProvider 
  uri content://media/external/audio/media 
  from pid=5738, uid=10122 requires android.permission.READ_EXTERNAL_STORAGE
  </code></pre>
  
  <p>I assume this issue is happening due to certain tones that are on external storage. I don't want to include the <code>READ_EXTERNAL_STORAGE</code> permission in my app unless I absolutely have to.</p>
  
  <p>Is there a way to circumvent the issue and just exclude any tones that may be on the external storage?</p>
  
  <p>Note: I'm getting ringtones with <code>RingtoneManager</code> and convert them between <code>String</code> and <code>Uri</code>. No other code is touching the user's media.</p>
  
  <p>Also, I do not have a line number since the stacktrace is from obfuscated code and re-mapping the stack trace did not provide line number.</p>