diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java
index e2b637ba4e..87ee2f8e2a 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java
@@ -375,6 +375,18 @@ public final class EmulationActivity extends AppCompatActivity
}
}
+ @Override
+ public boolean onKeyLongPress(int keyCode, @NonNull KeyEvent event)
+ {
+ if (keyCode == KeyEvent.KEYCODE_BACK)
+ {
+ mEmulationFragment.stopEmulation();
+ finish();
+ return true;
+ }
+ return super.onKeyLongPress(keyCode, event);
+ }
+
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent result)
{
@@ -697,7 +709,7 @@ public final class EmulationActivity extends AppCompatActivity
@Override
public boolean dispatchKeyEvent(KeyEvent event)
{
- if (mMenuVisible)
+ if (mMenuVisible || event.getKeyCode() == KeyEvent.KEYCODE_BACK)
{
return super.dispatchKeyEvent(event);
}
@@ -707,14 +719,6 @@ public final class EmulationActivity extends AppCompatActivity
switch (event.getAction())
{
case KeyEvent.ACTION_DOWN:
- // Handling the case where the back button is pressed.
- if (event.getKeyCode() == KeyEvent.KEYCODE_BACK)
- {
- onBackPressed();
- return true;
- }
-
- // Normal key events.
action = NativeLibrary.ButtonState.PRESSED;
break;
case KeyEvent.ACTION_UP:
diff --git a/Source/Android/app/src/main/res/values/strings.xml b/Source/Android/app/src/main/res/values/strings.xml
index 230fd949ac..356bfc1a62 100644
--- a/Source/Android/app/src/main/res/values/strings.xml
+++ b/Source/Android/app/src/main/res/values/strings.xml
@@ -355,7 +355,7 @@
Relative Stick Center
Rumble
Choose Controller
- Press Back to access the menu.
+ Press Back to access the menu.\nLong press Back to exit emulation.
Reset Overlay
Touch IR Pointer
IR Sensitivity