App version: 3.11.4f (6c3492af7)
Android version: 16, GrapheneOS 2026052400
Device model: Pixel 8
Expected behaviour: Playback should resume when play is selected on Pebble watch default Music app.
Current behaviour: If playback has been paused for longer than ~10 seconds and app is not open on your screen, playback will not resume when play is selected on Pebble watch’s default Music app.
First occurred: It’s been a problem for years, but got used to using buttons on my headphones instead of my watch. Now I don’t have buttons on my headphones so I would like my watch to work.
Steps to reproduce:
- Start podcast
- Switch apps or lock screen
- Pause podcast with watch or on screen
- Wait atleast 10 seconds
- Press play on your Pebble watch
- It doesn’t resume
Environment: the app is not restricted battery wise, it’s allowed to run in the background. I have tried it with GrapheneOS’s Exploit protection compatibility mode on or off it makes no difference. I am using a Pebble Time 2 with firmware v4.9.183 app version1.1.0.6, but this also happened with the Pebble Time and Pebble 2 on the old Rebble firmware and old app. This doesn’t happen on other media apps I’ve used, they all unpause just fine.
I get the same behavior with a Zepp Bip 3 watch and I believe it’s related to how the Notification Media Player stops working too: Notification Media Bar Play Stores Not Work After Inactivity
Ok, the fix was actually quite easy (with the help of AI). I’ve been running this build for a couple days and it seems pretty solid, I haven’t found any adverse effects. I don’t know if I want to jump through the hoops to try to do a pull request on the AntennaPod github project though…
From 15f8e2475e11f0b685eba2aed17b4f8b22dc4cde Mon Sep 17 00:00:00 2001
Date: Thu, 16 Jul 2026 21:22:21 -0600
Subject: [PATCH] Fix for playback not resuming from the notification or watches
---
.../antennapod/playback/service/PlaybackService.java | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/playback/service/src/main/java/de/danoeh/antennapod/playback/service/PlaybackService.java b/playback/service/src/main/java/de/danoeh/antennapod/playback/service/PlaybackService.java
index 75d8cd6e0..4c99cb334 100644
--- a/playback/service/src/main/java/de/danoeh/antennapod/playback/service/PlaybackService.java
+++ b/playback/service/src/main/java/de/danoeh/antennapod/playback/service/PlaybackService.java
@@ -869,7 +869,11 @@ public class PlaybackService extends MediaBrowserServiceCompat {
updateNotificationAndMediaSession(newInfo.getPlayable());
PlaybackPreferences.setCurrentPlayerStatus(PlaybackPreferences.PLAYER_STATUS_PAUSED);
if (!isCasting) {
- stateManager.stopForeground(!UserPreferences.isPersistNotify());
+ if (UserPreferences.isPersistNotify()) {
+ stateManager.startForeground(R.id.notification_playing, notificationBuilder.build());
+ } else {
+ stateManager.stopForeground(true);
+ }
}
cancelPositionObserver();
break;
@@ -1334,7 +1338,9 @@ public class PlaybackService extends MediaBrowserServiceCompat {
case ERROR:
state = PlaybackStateCompat.STATE_ERROR;
break;
- case INITIALIZED: // Deliberate fall-through
+ case INITIALIZED:
+ state = PlaybackStateCompat.STATE_PAUSED;
+ break;
case INDETERMINATE:
default:
state = PlaybackStateCompat.STATE_NONE;
--
2.46.0
This touches the old playback service, which is no longer used in recent beta versions
Exactly, I should have mentioned that I made these changes off the 3.11.4 tag because I ran into all sorts of problems with the 3.12.x beta regarding per-channel playback speed not working.