title: What does the "id" field in an Android "Google Play Music" broadcast intent correspond to?
body: <p>I've got an android app that listens to music broadcasts. It receives track change notifications using the following ApplicationManifest.xml (snippet):</p>
  
  <pre><code>    &lt;receiver android:name=".music.AndroidMusicBroadcastReceiver"&gt;
          &lt;intent-filter&gt;
              &lt;action android:name="com.android.music.metachanged"/&gt;
              &lt;action android:name="com.android.music.playbackcomplete"/&gt;
              &lt;action android:name="com.android.music.playstatechanged"/&gt;
              &lt;action android:name="com.htc.music.metachanged"/&gt;
              &lt;action android:name="com.htc.music.playbackcomplete"/&gt;
              &lt;action android:name="com.htc.music.playstatechanged"/&gt;
          &lt;/intent-filter&gt;
      &lt;/receiver&gt;
  </code></pre>
  
  <p>When I get this broadcast intent from my nexus 4 running the default (builtin) <strong>Google Play Music</strong> app, the bundle has useful information about the currently playing track, including "artist" and "title". It <em>doesn't</em> have a file path, which I would like. But it does have an "id" field (a <code>long</code>), which makes me think I can perhaps look up the additional information using that ID as a key. But I can't figure out: What database / content provider is this ID a key into?</p>
  
  <hr>
  
  <p>Things I've tried so far:</p>
  
  <p>1) I would have expected this to correspond to the _ID field of the content resolver for one of:</p>
  
  <ul>
  <li>MediaStore.Audio.Media.INTERNAL_CONTENT_URI</li>
  <li>MediaStore.Audio.Media.EXTERNAL_CONTENT_URI</li>
  </ul>
  
  <p>But I've tried querying both of those, and the IDs are nowhere in the same ballpark. My current example is that I'm getting an "id" (in the broadcast) of <code>3399</code>. But querying all the tracks in the EXTERNAL_CONTENT_URI gives me IDs in the range of 20865-23051, plus a couple of small IDs (20 and 24, corresponding to a notification and ringtone installed by the google+ app).</p>
  
  <p>For this source, the ID for the currently playing track would be <code>21373</code> (I looked up the ID based on the path, which I can figure out by manual inspection).</p>
  
  <p>INTERNAL_CONTENT_URI just gives me builtin stuff (like ringtones, etc) - all the IDs are &lt; 100, so that's not useful either.</p>
  
  <p>2) I did the same query against <em>all</em> media objects - using <code>MediaStore.Files.getContentUri("external")</code>. I got back plenty of results, but ID <code>3399</code> is a random file cached by newsrob (an RSS reader), so that's clearly not relevant.</p>