Попробуйте управлять MediaPlayer из Service и использовать Context.startService () и Context.stopService () и обрабатывать MediaPlayer в его жизненном цикле
Использовать это намерение:
final Intent mpServiceIntent = new Intent(context, MPService.class);
Когда ваш BroadcastReceiverполучает срабатывание use:
startService(mpServiceIntent);
Когда Activity.onCreate () вызывает use:
stopService(mpServiceIntent);