title: Android 6 does not register BroadcastReceiver for music events
body: <p>In Android 4 all works fine. In Android 6 the <code>onReceive()</code> of the dynamically registered <code>BroadcastReceiver</code> is not called. I register the receiver with this code:</p>
  
  <pre><code>IntentFilter filter = new IntentFilter();
  filter.addAction("com.android.music.metachanged");
  filter.addAction("com.android.music.playstatechanged");
  filter.addAction("com.android.music.playbackstatechanged");
  filter.addAction("com.android.music.playbackcomplete");
  filter.addAction("com.android.music.queuechanged");
  filter.addAction("com.android.music.musicservicecommand");
  a.registerReceiver(receiver = new AudioBroadcastReceiver(), filter); //a is Activity
  </code></pre>
  
  <p>This code definitely works - I checked. And receiver looks like this:</p>
  
  <pre><code>class AudioBroadcastReceiver extends BroadcastReceiver {
      public void onReceive(Context context, Intent intent) {
          ...
      }
  }
  </code></pre>
  
  <p>They say it is needed to dynamically give special permissions to the application before registering <code>BroadcastReceiver</code>. But I cannot find how - what should I request with <code>Manifest.permission.</code>? for this case. I just want receive signals when player changes music track. What is <em>dangerous</em> in this?</p>