MediaProjectionManager.GetMediaProjection(Int32, Intent) メソッド

定義

成功した画面キャプチャ要求から取得した を MediaProjection 取得します。

[Android.Runtime.Register("getMediaProjection", "(ILandroid/content/Intent;)Landroid/media/projection/MediaProjection;", "")]
public Android.Media.Projection.MediaProjection? GetMediaProjection (int resultCode, Android.Content.Intent resultData);
[<Android.Runtime.Register("getMediaProjection", "(ILandroid/content/Intent;)Landroid/media/projection/MediaProjection;", "")>]
member this.GetMediaProjection : int * Android.Content.Intent -> Android.Media.Projection.MediaProjection

パラメーター

resultCode
Int32

からの結果コード Activity#onActivityResult(int, int, Intent) onActivityResult(int, int, Intent)

resultData
Intent

からの Activity#onActivityResult(int, int, Intent) onActivityResult(int, int, Intent)結果データ。

戻り値

成功した画面キャプチャ要求から取得されたメディア プロジェクション。画面キャプチャ要求の結果が でない Activity#RESULT_OK RESULT_OK場合は null。

属性

注釈

成功した画面キャプチャ要求から取得した を MediaProjection 取得します。 要求の結果コードとデータは、 を使用してアクティビティ#createScreenCaptureIntent()Activity#onActivityResult(int, int, Intent) onActivityResult(int, int, Intent)開始した後に呼び出される をオーバーライドすることによって提供されます。

Android android.os.Build.VERSION_CODES#R R以降では、アプリケーションがアクセス許可を android.Manifest.permission#SYSTEM_ALERT_WINDOW SYSTEM_ALERT_WINDOW 要求し、ユーザーがアクセス許可を明示的に拒否していない場合、プロジェクションが停止するまで、アクセス許可が自動的に付与されます。 このアクセス許可を使用すると、アプリはキャプチャされている画面の上にユーザー コントロールを表示できます。

SDK バージョンandroid.os.Build.VERSION_CODES#Q Q以降を対象とするアプリは、フォアグラウンド サービスの実行中にキャプチャ セッション (MediaProjection#createVirtualDisplay(String, int, int, int, int, Surface, android.hardware.display.VirtualDisplay.Callback, Handler) MediaProjection#createVirtualDisplay) を呼び出getMediaProjectionして維持する必要があります。 アプリは、android.R.attr#foregroundServiceType foregroundServiceTypec>& で 属性を <にandroid.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION設定する必要があります。中尉;サービス&Gt;<アプリのマニフェスト ファイルの /c> 要素。

SDK バージョン android.os.Build.VERSION_CODES#UPSIDE_DOWN_CAKE U 以降を対象とするアプリの場合、ユーザーは、プロジェクションを開始するためのアクセス許可を持つアプリを付与している必要があります。その前に、アプリが 型 android.content.pm.ServiceInfo#FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTIONのフォアグラウンド サービスを開始する前に。 さらに、この API をここで呼び出す前に、アプリがその型でフォアグラウンド サービスを開始している必要があります。そうしないと、特権アプリでない限り、この API 呼び出しから を受け取ります SecurityException 。 アプリは、 と Activity#startActivityForResult(Intent, int) (または同様の #createScreenCaptureIntent() API) を介してアクセス許可を要求できます。

の Java ドキュメント android.media.projection.MediaProjectionManager.getMediaProjection(int, android.content.Intent)

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象