I have an app that works with many apps that all rely on the Android MediaStore. I see Poweramp supports that in addition to a more flexible storage model, but I want to start with the MediaStore support. I had database IDs for songs, artists, albums and playlists as longs. How do I prompt Poweramp to play a song (say) from the external SD card with a given database ID? I tried this, and get nothing to happen and Poweramp does not indicate anything in the logfile: protected void _playSong(Song song) { Uri uri = Uri.withAppendedPath( song.isInternal() ? MediaStore.Audio.Media.INTERNAL_CONTENT_URI : MediaStore.Audio.Media.EXTERNAL_CONTENT_URI , "" + song.mDatabaseId ); startService(new Intent(PowerAMPiAPI.ACTION_API_COMMAND) .putExtra(PowerAMPiAPI.COMMAND, PowerAMPiAPI.Commands.OPEN_TO_PLAY) .setData(uri) ); }