diff --git a/library/main/src/com/android/car/setupwizardlib/util/CarDrivingStateMonitor.java b/library/main/src/com/android/car/setupwizardlib/util/CarDrivingStateMonitor.java
index d7587c1..126f7e0 100644
--- a/library/main/src/com/android/car/setupwizardlib/util/CarDrivingStateMonitor.java
+++ b/library/main/src/com/android/car/setupwizardlib/util/CarDrivingStateMonitor.java
@@ -46,11 +46,12 @@
     public static final String EXIT_BROADCAST_ACTION =
             "com.android.car.setupwizardlib.driving_exit";
 
+    public static final String INTENT_EXTRA_REASON = "reason";
+    public static final String REASON_GEAR_REVERSAL = "gear_reversal";
+
     private static final String TAG = "CarDrivingStateMonitor";
     private static final long DISCONNECT_DELAY_MS = 700;
 
-    private static final String SETUP_PACKAGE = "com.google.android.car.setupwizard";
-    private static final String SETUP_CLASS = SETUP_PACKAGE + ".ExitActivity";
     private static final int GEAR_REVERSE = 2;
 
     private Car mCar;
@@ -78,7 +79,7 @@
                 case VehiclePropertyIds.GEAR_SELECTION:
                     if ((Integer) value.getValue() == GEAR_REVERSE) {
                         Log.v(TAG, "Gear has reversed, exiting SetupWizard.");
-                        sendExitActivityIntent();
+                        broadcastGearReversal();
                     }
                     break;
             }
@@ -322,18 +323,18 @@
                 && gearSelection.getStatus() == CarPropertyValue.STATUS_AVAILABLE) {
             if (gearSelection.getValue() == GEAR_REVERSE) {
                 Log.v(TAG, "SetupWizard started when gear is in reverse, exiting.");
-                sendExitActivityIntent();
+                broadcastGearReversal();
             }
         } else {
             Log.e(TAG, "GEAR_SELECTION is not available.");
         }
     }
 
-    private void sendExitActivityIntent() {
+    private void broadcastGearReversal() {
         Intent intent = new Intent();
-        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        intent.setComponent(new ComponentName(SETUP_PACKAGE, SETUP_CLASS));
-        mContext.startActivity(intent);
+        intent.setAction(EXIT_BROADCAST_ACTION);
+        intent.putExtra(INTENT_EXTRA_REASON, REASON_GEAR_REVERSAL);
+        mContext.sendBroadcast(intent);
     }
 
 }
