diff --git a/media/java/android/media/projection/MediaProjectionManager.java b/media/java/android/media/projection/MediaProjectionManager.java index f327e4e76f16b..30fccf485b24a 100644 --- a/media/java/android/media/projection/MediaProjectionManager.java +++ b/media/java/android/media/projection/MediaProjectionManager.java @@ -35,6 +35,27 @@ import java.util.Map; /** * Manages the retrieval of certain types of {@link MediaProjection} tokens. + * + *
<service> element of
* the app's manifest file.
*
+ * + * For an app targeting SDK version {@link android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE U} or + * later, the user must have granted the app with the permission to start a projection, + * before the app starts a foreground service with the type + * {@link android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION}. + * Additionally, the app must have started the foreground service with that type before calling + * this API here, or else it'll receive a {@link SecurityException} from this API call, unless + * it's a privileged app. Apps can request the permission via the + * {@link #createScreenCaptureIntent()} and {@link Activity#startActivityForResult(Intent, int)} + * (or similar APIs). + *
* * @param resultCode The result code from {@link Activity#onActivityResult(int, int, Intent) * onActivityResult(int, int, Intent)}.