diff --git a/src/java/com/android/internal/telephony/euicc/EuiccController.java b/src/java/com/android/internal/telephony/euicc/EuiccController.java
index 0d58d80..cf16bfb 100644
--- a/src/java/com/android/internal/telephony/euicc/EuiccController.java
+++ b/src/java/com/android/internal/telephony/euicc/EuiccController.java
@@ -19,6 +19,7 @@
 import android.annotation.Nullable;
 import android.app.AppOpsManager;
 import android.app.PendingIntent;
+import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageInfo;
@@ -64,6 +65,11 @@
     private static final int ERROR =
             EuiccManager.EMBEDDED_SUBSCRIPTION_RESULT_ERROR;
 
+    /** Restrictions limiting access to the PendingIntent */
+    private static final String RESOLUTION_ACTIVITY_PACKAGE_NAME = "com.android.phone";
+    private static final String RESOLUTION_ACTIVITY_CLASS_NAME =
+            "com.android.phone.euicc.EuiccResolutionUiDispatcherActivity";
+
     private static EuiccController sInstance;
 
     private final Context mContext;
@@ -876,6 +882,9 @@
     public void addResolutionIntent(Intent extrasIntent, String resolutionAction,
             String callingPackage, EuiccOperation op) {
         Intent intent = new Intent(EuiccManager.ACTION_RESOLVE_ERROR);
+        intent.setPackage(RESOLUTION_ACTIVITY_PACKAGE_NAME);
+        intent.setComponent(new ComponentName(
+                        RESOLUTION_ACTIVITY_PACKAGE_NAME, RESOLUTION_ACTIVITY_CLASS_NAME));
         intent.putExtra(EuiccManager.EXTRA_EMBEDDED_SUBSCRIPTION_RESOLUTION_ACTION,
                 resolutionAction);
         intent.putExtra(EuiccService.EXTRA_RESOLUTION_CALLING_PACKAGE, callingPackage);
