--- a/app/src/main/java/org/schabi/newpipe/MainActivity.java	2020-07-30 22:16:28.963816411 +0300
+++ b/app/src/main/java/org/schabi/newpipe/MainActivity.java	2020-07-30 22:03:12.360482237 +0300
@@ -99,6 +99,7 @@
     private static final int ITEM_ID_BOOKMARKS = -3;
     private static final int ITEM_ID_DOWNLOADS = -4;
     private static final int ITEM_ID_HISTORY = -5;
+    private static final int ITEM_ID_BG_PLAYER = -6;
     private static final int ITEM_ID_SETTINGS = 0;
     private static final int ITEM_ID_ABOUT = 1;
 
@@ -177,6 +178,9 @@
         drawerItems.getMenu()
                 .add(R.id.menu_tabs_group, ITEM_ID_HISTORY, ORDER, R.string.action_history)
                 .setIcon(ThemeHelper.resolveResourceIdFromAttr(this, R.attr.ic_history));
+        drawerItems.getMenu()
+                .add(R.id.menu_tabs_group, ITEM_ID_BG_PLAYER, ORDER, R.string.background_player)
+                .setIcon(ThemeHelper.resolveResourceIdFromAttr(this, R.attr.ic_play_arrow));
 
         //Settings and About
         drawerItems.getMenu()
@@ -261,6 +265,9 @@
             case ITEM_ID_HISTORY:
                 NavigationHelper.openStatisticFragment(getSupportFragmentManager());
                 break;
+            case ITEM_ID_BG_PLAYER:
+                NavigationHelper.openBackgroundPlayer(this);
+                break;
             default:
                 int currentServiceId = ServiceHelper.getSelectedServiceId(this);
                 StreamingService service = NewPipe.getService(currentServiceId);
@@ -431,6 +438,9 @@
         drawerItems.getMenu()
                 .add(R.id.menu_tabs_group, ITEM_ID_HISTORY, ORDER, R.string.action_history)
                 .setIcon(ThemeHelper.resolveResourceIdFromAttr(this, R.attr.ic_history));
+        drawerItems.getMenu()
+                .add(R.id.menu_tabs_group, ITEM_ID_BG_PLAYER, ORDER, R.string.background_player)
+                .setIcon(ThemeHelper.resolveResourceIdFromAttr(this, R.attr.ic_play_arrow));
 
         //Settings and About
         drawerItems.getMenu()
@@ -447,6 +457,8 @@
         if (!isChangingConfigurations()) {
             StateSaver.clearStateFiles();
         }
+        finishAffinity();
+        System.exit(0);
     }
 
     @Override
--- a/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java	2020-07-30 22:16:29.110483078 +0300
+++ b/app/src/main/java/org/schabi/newpipe/util/NavigationHelper.java	2020-07-30 17:51:14.380466426 +0300
@@ -146,10 +146,16 @@
 
     public static void playOnBackgroundPlayer(final Context context, final PlayQueue queue,
                                               final boolean resumePlayback) {
-        Toast.makeText(context, R.string.background_player_playing_toast, Toast.LENGTH_SHORT)
-                .show();
+        //Toast.makeText(context, R.string.background_player_playing_toast, Toast.LENGTH_SHORT)
+        //        .show();
         startService(context,
                 getPlayerIntent(context, BackgroundPlayer.class, queue, resumePlayback));
+
+        final Intent playerIntent
+                = getPlayerIntent(context, BackgroundPlayerActivity.class, queue, resumePlayback);
+
+        playerIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+        context.startActivity(playerIntent);
     }
 
     public static void enqueueOnPopupPlayer(final Context context, final PlayQueue queue,
@@ -481,6 +487,11 @@
         context.startActivity(mIntent);
     }
 
+    public static void openBackgroundPlayer(final Context context) {
+        Intent intent = new Intent(context, BackgroundPlayerActivity.class);
+        context.startActivity(intent);
+    }
+
     public static void openAbout(final Context context) {
         Intent intent = new Intent(context, AboutActivity.class);
         context.startActivity(intent);
--- a/app/src/main/java/org/schabi/newpipe/player/BackgroundPlayerActivity.java	2020-07-30 22:16:29.003816411 +0300
+++ b/app/src/main/java/org/schabi/newpipe/player/BackgroundPlayerActivity.java	2020-07-30 22:09:41.627149315 +0300
@@ -1,6 +1,8 @@
 package org.schabi.newpipe.player;
 
+//import android.app.ActivityManager;
 import android.content.Intent;
+import android.util.Log;
 import android.view.MenuItem;
 
 import org.schabi.newpipe.R;
@@ -11,6 +13,7 @@
 public final class BackgroundPlayerActivity extends ServicePlayerActivity {
 
     private static final String TAG = "BackgroundPlayerActivity";
+    private static final boolean DEBUG = BasePlayer.DEBUG;
 
     @Override
     public String getTag() {
@@ -70,4 +73,21 @@
     public Intent getPlayerShutdownIntent() {
         return new Intent(ACTION_CLOSE);
     }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        if (DEBUG) {
+            Log.d(TAG, "destroy() called");
+        }
+        /*
+         * Not until we are sure the application main window is actually closed
+         * For further ref:
+         *   https://developer.android.com/reference/android/
+         *   app/ActivityManager.RunningAppProcessInfo
+         *
+         * getApplicationContext().sendBroadcast(getPlayerShutdownIntent());
+         */
+    }
+
 }
