次の方法で共有


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

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必要があります。lt;サービス(&B)gt;<アプリのマニフェスト ファイルの /c> 要素。

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

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

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

適用対象