MediaProjection

public final class MediaProjection
extends Object

java.lang.Object
   ↳ android.media.projection.MediaProjection


A token granting applications the ability to capture screen contents and/or record system audio. The exact capabilities granted depend on the type of MediaProjection.

A screen capture session can be started through MediaProjectionManager.createScreenCaptureIntent(). This grants the ability to capture screen contents, but not system audio.

Summary

Nested classes

class MediaProjection.Callback

Callbacks for the projection session. 

Public methods

VirtualDisplay createVirtualDisplay(String name, int width, int height, int dpi, int flags, Surface surface, VirtualDisplay.Callback callback, Handler handler)

Creates a VirtualDisplay to capture the contents of the screen.

void registerCallback(MediaProjection.Callback callback, Handler handler)

Register a listener to receive notifications about when the MediaProjection changes state.

void stop()

Stops projection.

void unregisterCallback(MediaProjection.Callback callback)

Unregister a MediaProjection listener.

Inherited methods

Public methods

createVirtualDisplay

added in API level 21
public VirtualDisplay createVirtualDisplay (String name, 
                int width, 
                int height, 
                int dpi, 
                int flags, 
                Surface surface, 
                VirtualDisplay.Callback callback, 
                Handler handler)

Creates a VirtualDisplay to capture the contents of the screen.

Parameters
name String: The name of the virtual display, must be non-empty.

This value must never be null.

width int: The width of the virtual display in pixels. Must be greater than 0.

height int: The height of the virtual display in pixels. Must be greater than 0.

dpi int: The density of the virtual display in dpi. Must be greater than 0.

flags int: A combination of virtual display flags. See DisplayManager for the full list of flags.

surface Surface: The surface to which the content of the virtual display should be rendered, or null if there is none initially.

callback VirtualDisplay.Callback: Callback to call when the virtual display's state changes, or null if none.

handler Handler: The Handler on which the callback should be invoked, or null if the callback should be invoked on the calling thread's main Looper.

Returns
VirtualDisplay

See also:

registerCallback

added in API level 21
public void registerCallback (MediaProjection.Callback callback, 
                Handler handler)

Register a listener to receive notifications about when the MediaProjection changes state.

Parameters
callback MediaProjection.Callback: The callback to call.

handler Handler: The handler on which the callback should be invoked, or null if the callback should be invoked on the calling thread's looper.

stop

added in API level 21
public void stop ()

Stops projection.

unregisterCallback

added in API level 21
public void unregisterCallback (MediaProjection.Callback callback)

Unregister a MediaProjection listener.

Parameters
callback MediaProjection.Callback: The callback to unregister.