diff --git a/demos/main/src/main/java/com/google/android/exoplayer2/demo/SampleChooserActivity.java b/demos/main/src/main/java/com/google/android/exoplayer2/demo/SampleChooserActivity.java index 5524f98257..7c6dbfc88a 100644 --- a/demos/main/src/main/java/com/google/android/exoplayer2/demo/SampleChooserActivity.java +++ b/demos/main/src/main/java/com/google/android/exoplayer2/demo/SampleChooserActivity.java @@ -95,8 +95,16 @@ public class SampleChooserActivity extends Activity loaderTask.execute(uris); // Ping the download service in case it's not running (but should be). - startService( - new Intent(this, DemoDownloadService.class).setAction(DownloadService.ACTION_INIT)); + Intent serviceIntent = + new Intent(this, DemoDownloadService.class).setAction(DownloadService.ACTION_INIT); + // Starting the service in the foreground causes notification flicker if there is no scheduled + // action. Starting it in the background throws an exception if the app is in the background too + // (e.g. if device screen is locked). + try { + startService(serviceIntent); + } catch (IllegalStateException e) { + startForegroundService(serviceIntent); + } } @Override