summaryrefslogtreecommitdiffstats
path: root/android/src/org/rockbox
diff options
context:
space:
mode:
Diffstat (limited to 'android/src/org/rockbox')
-rw-r--r--android/src/org/rockbox/RockboxService.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/android/src/org/rockbox/RockboxService.java b/android/src/org/rockbox/RockboxService.java
index 4f5df62280..912142c7a1 100644
--- a/android/src/org/rockbox/RockboxService.java
+++ b/android/src/org/rockbox/RockboxService.java
@@ -80,6 +80,7 @@ public class RockboxService extends Service
public void onCreate()
{
instance = this;
+ mMediaButtonReceiver = new MediaButtonReceiver(this);
}
public static RockboxService get_instance()
@@ -145,6 +146,9 @@ public class RockboxService extends Service
e.printStackTrace();
}
}
+ /* (Re-)attach the media button receiver, in case it has been lost */
+ mMediaButtonReceiver.register();
+
if (resultReceiver != null)
resultReceiver.send(RESULT_SERVICE_RUNNING, null);
}
@@ -175,8 +179,6 @@ public class RockboxService extends Service
fb = new RockboxFramebuffer(this);
if (resultReceiver != null)
resultReceiver.send(RESULT_FB_INITIALIZED, null);
- mMediaButtonReceiver = new MediaButtonReceiver(this);
- mMediaButtonReceiver.register();
Thread rb = new Thread(new Runnable()
{
public void run()
@@ -325,6 +327,7 @@ public class RockboxService extends Service
{
super.onDestroy();
mMediaButtonReceiver.unregister();
+ mMediaButtonReceiver = null;
/* Make sure our notification is gone. */
stopForeground();
}