Ответ 1
Проверьте эту страницу: http://grepcode.com/file/repo1.maven.org/maven2/org.robolectric/android-all/5.0.0_r2-robolectric-0/android/media/session/MediaSession.java Это довольно большой пример полного потока. Вот одна из наиболее важных частей
Задайте ожидающее намерение приемника мультимедийных кнопок разрешить перезапуск воспроизведения после остановки сеанса. Если ваше приложение запускается таким образом, намерение андроида .content.Intent.ACTION_MEDIA_BUTTON будет отправлено через ожидающее намерение.
Параметры: nullmbr. android.app.PendingIntent для отправки события кнопки мультимедиа.
public void More ...setMediaButtonReceiver(@Nullable PendingIntent mbr) {
try {
mBinder.setMediaButtonReceiver(mbr);
} catch (RemoteException e) {
Log.wtf(TAG, "Failure in setMediaButtonReceiver.", e);
}
}