diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index a33aa600febdf..d6f911c965b00 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -5913,6 +5913,10 @@ public class ActivityManagerService extends IActivityManager.Stub if (targetPkg == null) { throw new IllegalArgumentException("null target"); } + final int callingUserId = UserHandle.getUserId(r.uid); + if (mPackageManagerInt.filterAppAccess(targetPkg, r.uid, callingUserId)) { + return; + } Preconditions.checkFlagsArgument(modeFlags, Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION @@ -5924,7 +5928,7 @@ public class ActivityManagerService extends IActivityManager.Stub intent.setFlags(modeFlags); final NeededUriGrants needed = mUgmInternal.checkGrantUriPermissionFromIntent(intent, - r.uid, targetPkg, UserHandle.getUserId(r.uid)); + r.uid, targetPkg, callingUserId); mUgmInternal.grantUriPermissionUncheckedFromIntent(needed, null); } }