androidx / androidx/media

onPlaybackResumption() returning exception leads to hard-to-debug ForegroundServiceDidNotStartInTimeException

Open
#2,591 2 comments 2 reactions 1 assignee View on GitHub

@marcbaechinger is already working on this.

Since Jul 7, 2025.

enhancement
Dominant language
Java
Stars
3k
Forks
955
Avg merge
12d 14h
Merged PRs (30d)
2

Description

Version

Media3 main branch

More version details

No response

Devices that reproduce the issue

Android 12 and later

Devices that do not reproduce the issue

older devices

Reproducible in the demo app?

Yes

Reproduction steps
  1. Press "Play" button on headset
  2. ensure onPlaybackResumption() returns exception (or: just don't override it at all)
Expected result

useful crash

Actual result

App crashes with ForegroundServiceDidNotStartInTimeException because media button reciever (by default) always forwards play events, app returns some exception so the play handling just moves player to STATE_ENDED (empty playlist after all), which is not considered engaging (and rightfully so), hence there's no attempt to start into foreground and we crash.

Though these are properly logged to logcat, these crashes are hard to debug when just looking at Crashlytics, which is why I think there's potential for improvement here. If we know for sure we're going to crash anyway, we might as well re-throw the exception in the future as cause for some IllegalStateException explaining the problem.

Media

Not applicable

Bug Report
  • You will email the zip file produced by adb bugreport to android-media-github@google.com after filing this issue.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.