DisplayManager
  public
  
  final
  
  class
  DisplayManager
  
    extends Object
  
  
  
  
  
  
| java.lang.Object | |
| ↳ | android.hardware.display.DisplayManager | 
Manages the properties of attached displays.
Summary
| Nested classes | |
|---|---|
| 
        
        
        
        
        interface | DisplayManager.DisplayListenerListens for changes in available display devices. | 
| Constants | |
|---|---|
| int | BRIGHTNESS_UNIT_PERCENTAGEBrightness value type where the value is in the range [0, 100] and when set, the brightness UI slider will show the same value. | 
| String | DISPLAY_CATEGORY_BUILT_IN_DISPLAYSDisplay category: Built in displays. | 
| String | DISPLAY_CATEGORY_PRESENTATIONDisplay category: Presentation displays. | 
| long | EVENT_TYPE_DISPLAY_ADDEDEvent type for when a new display is added. | 
| long | EVENT_TYPE_DISPLAY_BRIGHTNESSEvent type to register for a display's brightness changes. | 
| long | EVENT_TYPE_DISPLAY_CHANGEDEvent type for when a display is changed. | 
| long | EVENT_TYPE_DISPLAY_REFRESH_RATEEvent type for when a display's refresh rate changes. | 
| long | EVENT_TYPE_DISPLAY_REMOVEDEvent type for when a display is removed. | 
| long | EVENT_TYPE_DISPLAY_STATEEvent type for when a display state changes. | 
| int | MATCH_CONTENT_FRAMERATE_ALWAYSRefresh rate switches between all refresh rates are allowed even if they have visual interruptions for the user. | 
| int | MATCH_CONTENT_FRAMERATE_NEVERNo mode switching is allowed. | 
| int | MATCH_CONTENT_FRAMERATE_SEAMLESSS_ONLYOnly refresh rate switches without visual interruptions are allowed. | 
| int | MATCH_CONTENT_FRAMERATE_UNKNOWNMatch content frame rate user preference is unknown. | 
| int | VIRTUAL_DISPLAY_FLAG_AUTO_MIRRORVirtual display flag: Allows content to be mirrored on private displays when no content is being shown. | 
| int | VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLYVirtual display flag: Only show this display's own content; do not mirror the content of another display. | 
| int | VIRTUAL_DISPLAY_FLAG_PRESENTATIONVirtual display flag: Create a presentation display. | 
| int | VIRTUAL_DISPLAY_FLAG_PUBLICVirtual display flag: Create a public display. | 
| int | VIRTUAL_DISPLAY_FLAG_SECUREVirtual display flag: Create a secure display. | 
| Public methods | |
|---|---|
| 
        
        
        
        
        
        VirtualDisplay | 
      createVirtualDisplay(VirtualDisplayConfig config)
      Creates a virtual display. | 
| 
        
        
        
        
        
        VirtualDisplay | 
      createVirtualDisplay(String name, int width, int height, int densityDpi, Surface surface, int flags)
      Creates a virtual display. | 
| 
        
        
        
        
        
        VirtualDisplay | 
      createVirtualDisplay(String name, int width, int height, int densityDpi, Surface surface, int flags, VirtualDisplay.Callback callback, Handler handler)
      Creates a virtual display. | 
| 
        
        
        
        
        
        VirtualDisplay | 
      createVirtualDisplay(VirtualDisplayConfig config, Handler handler, VirtualDisplay.Callback callback)
      Creates a virtual display. | 
| 
        
        
        
        
        
        float | 
      getBrightness(int displayId, int unit)
      Gets the brightness of the specified display in the specified brightness unit. | 
| 
        
        
        
        
        
        Display | 
      getDisplay(int displayId)
      Gets information about a logical display. | 
| 
        
        
        
        
        
        DisplayTopology | 
      getDisplayTopology()
       | 
| 
        
        
        
        
        
        Display[] | 
      getDisplays(String category)
      Gets all currently valid logical displays of the specified category. | 
| 
        
        
        
        
        
        Display[] | 
      getDisplays()
      Gets all currently valid logical displays. | 
| 
        
        
        
        
        
        HdrConversionMode | 
      getHdrConversionMode()
      Returns the  | 
| 
        
        
        
        
        
        int | 
      getMatchContentFrameRateUserPreference()
      Returns the user preference for "Match content frame rate". | 
| 
        
        
        
        
        
        void | 
      registerDisplayListener(Executor executor, long eventFilter, DisplayManager.DisplayListener listener)
      Registers a display listener to receive notifications about given display event types. | 
| 
        
        
        
        
        
        void | 
      registerDisplayListener(DisplayManager.DisplayListener listener, Handler handler)
      Registers a display listener to receive notifications about when displays are added, removed or changed. | 
| 
        
        
        
        
        
        void | 
      registerTopologyListener(Executor executor, Consumer<DisplayTopology> listener)
      Register a listener to receive display topology updates. | 
| 
        
        
        
        
        
        void | 
      setBrightness(int displayId, float value, int unit)
      Sets the brightness of the specified display. | 
| 
        
        
        
        
        
        void | 
      unregisterDisplayListener(DisplayManager.DisplayListener listener)
      Unregisters a display listener. | 
| 
        
        
        
        
        
        void | 
      unregisterTopologyListener(Consumer<DisplayTopology> listener)
      Unregister a display topology listener. | 
| Inherited methods | |
|---|---|
Constants
BRIGHTNESS_UNIT_PERCENTAGE
public static final int BRIGHTNESS_UNIT_PERCENTAGE
Brightness value type where the value is in the range [0, 100] and when set, the brightness UI slider will show the same value. It gets converted from the user-perception scale to the power scale and mapped to the current brightness range. The current brightness range may change over time depending on the device state (such as the brightness of the ambient environment). When this type of used, 0 and 100 map to the current brightness minimum and maximum respectively.
Constant Value: 1 (0x00000001)
DISPLAY_CATEGORY_BUILT_IN_DISPLAYS
public static final String DISPLAY_CATEGORY_BUILT_IN_DISPLAYS
Display category: Built in displays.
     This category can be used to identify displays that are built into the device. The
     displays that are returned may be inactive or disabled at the current moment. The
     returned displays are useful in identifying the various sizes of built-in displays. The
     id from Display.getDisplayId() is not guaranteed to be stable and may change
     when the display becomes active.
 
See also:
Constant Value: "android.hardware.display.category.BUILT_IN_DISPLAYS"
DISPLAY_CATEGORY_PRESENTATION
public static final String DISPLAY_CATEGORY_PRESENTATION
Display category: Presentation displays.
This category can be used to identify secondary displays that are suitable for use as presentation displays such as external or wireless displays. Applications may automatically project their content to presentation displays to provide richer second screen experiences.
Constant Value: "android.hardware.display.category.PRESENTATION"
EVENT_TYPE_DISPLAY_ADDED
public static final long EVENT_TYPE_DISPLAY_ADDED
Event type for when a new display is added. This notification is sent
 through the DisplayListener.onDisplayAdded callback method
Constant Value: 1 (0x0000000000000001)
EVENT_TYPE_DISPLAY_BRIGHTNESS
public static final long EVENT_TYPE_DISPLAY_BRIGHTNESS
Event type to register for a display's brightness changes. This notification is sent
 through the DisplayListener.onDisplayChanged callback method. New brightness
 values can be retrieved via ERROR(/android.view.Display#getBrightnessInfo()).
Constant Value: 32 (0x0000000000000020)
EVENT_TYPE_DISPLAY_CHANGED
public static final long EVENT_TYPE_DISPLAY_CHANGED
Event type for when a display is changed. DisplayListener.onDisplayChanged callback
 is triggered whenever the properties of a Display, such as size,
 state, density are modified.
 This event is not triggered for refresh rate changes as they can change very often.
 To monitor refresh rate changes, subscribe to ERROR(/EVENT_TYPE_DISPLAY_REFRESH_RATE).
Constant Value: 4 (0x0000000000000004)
EVENT_TYPE_DISPLAY_REFRESH_RATE
public static final long EVENT_TYPE_DISPLAY_REFRESH_RATE
Event type for when a display's refresh rate changes.
 DisplayListener.onDisplayChanged callback is triggered whenever the refresh rate
 of the display changes. New refresh rate values can be retrieved via
 Display.getRefreshRate().
Constant Value: 8 (0x0000000000000008)
EVENT_TYPE_DISPLAY_REMOVED
public static final long EVENT_TYPE_DISPLAY_REMOVED
Event type for when a display is removed. This notification is sent
 through the DisplayListener.onDisplayRemoved callback method
Constant Value: 2 (0x0000000000000002)
EVENT_TYPE_DISPLAY_STATE
public static final long EVENT_TYPE_DISPLAY_STATE
Event type for when a display state changes.
 DisplayListener.onDisplayChanged callback is triggered whenever the state
 of the display changes. New state values can be retrieved via
 Display.getState().
Constant Value: 16 (0x0000000000000010)
MATCH_CONTENT_FRAMERATE_ALWAYS
public static final int MATCH_CONTENT_FRAMERATE_ALWAYS
Refresh rate switches between all refresh rates are allowed even if they have visual interruptions for the user.
Constant Value: 2 (0x00000002)
MATCH_CONTENT_FRAMERATE_NEVER
public static final int MATCH_CONTENT_FRAMERATE_NEVER
No mode switching is allowed.
Constant Value: 0 (0x00000000)
MATCH_CONTENT_FRAMERATE_SEAMLESSS_ONLY
public static final int MATCH_CONTENT_FRAMERATE_SEAMLESSS_ONLY
Only refresh rate switches without visual interruptions are allowed.
Constant Value: 1 (0x00000001)
MATCH_CONTENT_FRAMERATE_UNKNOWN
public static final int MATCH_CONTENT_FRAMERATE_UNKNOWN
Match content frame rate user preference is unknown.
Constant Value: -1 (0xffffffff)
VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR
public static final int VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR
Virtual display flag: Allows content to be mirrored on private displays when no content is being shown.
 This flag is mutually exclusive with VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY.
 If both flags are specified then the own-content only behavior will be applied.
 
 The behavior of this flag is implied whenever VIRTUAL_DISPLAY_FLAG_PUBLIC is set
 and VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY has not been set.   This flag is only
 required to override the default behavior when creating a private display.
 
 Creating an auto-mirroing virtual display requires the CAPTURE_VIDEO_OUTPUT
 or CAPTURE_SECURE_VIDEO_OUTPUT permission.
 These permissions are reserved for use by system components and are not available to
 third-party applications.
 Alternatively, an appropriate MediaProjection may be used to create an
 auto-mirroring virtual display.
 
Constant Value: 16 (0x00000010)
VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY
public static final int VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY
Virtual display flag: Only show this display's own content; do not mirror the content of another display.
 This flag is used in conjunction with VIRTUAL_DISPLAY_FLAG_PUBLIC.
 Ordinarily public virtual displays will automatically mirror the content of the
 default display if they have no windows of their own.  When this flag is
 specified, the virtual display will only ever show its own content and
 will be blanked instead if it has no windows.
 
 This flag is mutually exclusive with VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR.  If both
 flags are specified then the own-content only behavior will be applied.
 
 This behavior of this flag is implied whenever neither VIRTUAL_DISPLAY_FLAG_PUBLIC
 nor VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR have been set.  This flag is only required to
 override the default behavior when creating a public display.
 
Constant Value: 8 (0x00000008)
VIRTUAL_DISPLAY_FLAG_PRESENTATION
public static final int VIRTUAL_DISPLAY_FLAG_PRESENTATION
Virtual display flag: Create a presentation display.
Presentation virtual displays
 When this flag is set, the virtual display is registered as a presentation
 display in the presentation display category.
 Applications may automatically project their content to presentation displays
 to provide richer second screen experiences.
 
Non-presentation virtual displays
When this flag is not set, the virtual display is not registered as a presentation display. Applications can still project their content on the display but they will typically not do so automatically. This option is appropriate for more special-purpose displays.
See also:
Constant Value: 2 (0x00000002)
VIRTUAL_DISPLAY_FLAG_PUBLIC
public static final int VIRTUAL_DISPLAY_FLAG_PUBLIC
Virtual display flag: Create a public display.
Public virtual displays
When this flag is set, the virtual display is public.
A public virtual display behaves just like most any other display that is connected to the system such as an external or wireless display. Applications can open windows on the display and the system may mirror the contents of other displays onto it.
 Creating a public virtual display that isn't restricted to own-content only implicitly
 creates an auto-mirroring display. See VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR for
 restrictions on who is allowed to create an auto-mirroring display.
 
Private virtual displays
 When this flag is not set, the virtual display is private as defined by the
 Display.FLAG_PRIVATE display flag.
 
A private virtual display belongs to the application that created it. Only the a owner of a private virtual display and the apps that are already on that display are allowed to place windows upon it. The private virtual display also does not participate in display mirroring: it will neither receive mirrored content from another display nor allow its own content to be mirrored elsewhere. More precisely, the only processes that are allowed to enumerate or interact with the private display are those that have the same UID as the application that originally created the private virtual display or as the activities that are already on that display.
See also:
Constant Value: 1 (0x00000001)
VIRTUAL_DISPLAY_FLAG_SECURE
public static final int VIRTUAL_DISPLAY_FLAG_SECURE
Virtual display flag: Create a secure display.
Secure virtual displays
 When this flag is set, the virtual display is considered secure as defined
 by the Display.FLAG_SECURE display flag.  The caller promises to take
 reasonable measures, such as over-the-air encryption, to prevent the contents
 of the display from being intercepted or recorded on a persistent medium.
 
Creating a secure virtual display requires the CAPTURE_SECURE_VIDEO_OUTPUT permission. This permission is reserved for use by system components and is not available to third-party applications.
Non-secure virtual displays
When this flag is not set, the virtual display is considered unsecure. The content of secure windows will be blanked if shown on this display.
Constant Value: 4 (0x00000004)
Public methods
createVirtualDisplay
public VirtualDisplay createVirtualDisplay (VirtualDisplayConfig config)
Creates a virtual display.
| Parameters | |
|---|---|
| config | VirtualDisplayConfig: This value cannot benull. | 
| Returns | |
|---|---|
| VirtualDisplay | This value may be null. | 
createVirtualDisplay
public VirtualDisplay createVirtualDisplay (String name, int width, int height, int densityDpi, Surface surface, int flags)
Creates a virtual display.
| Parameters | |
|---|---|
| name | String: This value cannot benull. | 
| width | int: Value is 1 or greater | 
| height | int: Value is 1 or greater | 
| densityDpi | int: Value is 1 or greater | 
| surface | Surface: This value may benull. | 
| flags | int: Value is either0or a combination ofVIRTUAL_DISPLAY_FLAG_PUBLIC,VIRTUAL_DISPLAY_FLAG_PRESENTATION,VIRTUAL_DISPLAY_FLAG_SECURE,VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY,VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR, android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_CAN_SHOW_WITH_INSECURE_KEYGUARD, android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_SUPPORTS_TOUCH, android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_ROTATES_WITH_CONTENT, android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_DESTROY_CONTENT_ON_REMOVAL, android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_SHOULD_SHOW_SYSTEM_DECORATIONS, android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_TRUSTED, android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_OWN_DISPLAY_GROUP, android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_ALWAYS_UNLOCKED, android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_TOUCH_FEEDBACK_DISABLED, android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_OWN_FOCUS, and android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_STEAL_TOP_FOCUS_DISABLED | 
| Returns | |
|---|---|
| VirtualDisplay | |
createVirtualDisplay
public VirtualDisplay createVirtualDisplay (String name, int width, int height, int densityDpi, Surface surface, int flags, VirtualDisplay.Callback callback, Handler handler)
Creates a virtual display.
 The content of a virtual display is rendered to a Surface provided
 by the application.
 
 The virtual display should be released
 when no longer needed.  Because a virtual display renders to a surface
 provided by the application, it will be released automatically when the
 process terminates and all remaining windows on it will be forcibly removed.
 
The behavior of the virtual display depends on the flags that are provided to this method. By default, virtual displays are created to be private, non-presentation and unsecure. Permissions may be required to use certain flags.
 As of Build.VERSION_CODES.KITKAT_WATCH, the surface may
 be attached or detached dynamically using VirtualDisplay.setSurface.
 Previously, the surface had to be non-null when createVirtualDisplay(VirtualDisplayConfig)
 was called and could not be changed for the lifetime of the display.
 
Detaching the surface that backs a virtual display has a similar effect to turning off the screen.
| Parameters | |
|---|---|
| name | String: The name of the virtual display, must be non-empty.
 This value cannot benull. | 
| width | int: The width of the virtual display in pixels, must be greater than 0.
 Value is 1 or greater | 
| height | int: The height of the virtual display in pixels, must be greater than 0.
 Value is 1 or greater | 
| densityDpi | int: The density of the virtual display in dpi, must be greater than 0.
 Value is 1 or greater | 
| surface | Surface: The surface to which the content of the virtual display should
 be rendered, or null if there is none initially. | 
| flags | int: A combination of virtual display flags:VIRTUAL_DISPLAY_FLAG_PUBLIC,VIRTUAL_DISPLAY_FLAG_PRESENTATION,VIRTUAL_DISPLAY_FLAG_SECURE,VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY,
 orVIRTUAL_DISPLAY_FLAG_AUTO_MIRROR.
 Value is either0or a combination ofVIRTUAL_DISPLAY_FLAG_PUBLIC,VIRTUAL_DISPLAY_FLAG_PRESENTATION,VIRTUAL_DISPLAY_FLAG_SECURE,VIRTUAL_DISPLAY_FLAG_OWN_CONTENT_ONLY,VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR, android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_CAN_SHOW_WITH_INSECURE_KEYGUARD, android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_SUPPORTS_TOUCH, android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_ROTATES_WITH_CONTENT, android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_DESTROY_CONTENT_ON_REMOVAL, android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_SHOULD_SHOW_SYSTEM_DECORATIONS, android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_TRUSTED, android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_OWN_DISPLAY_GROUP, android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_ALWAYS_UNLOCKED, android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_TOUCH_FEEDBACK_DISABLED, android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_OWN_FOCUS, and android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_STEAL_TOP_FOCUS_DISABLED | 
| callback | VirtualDisplay.Callback: Callback to call when the state of theVirtualDisplaychanges
 This value may benull. | 
| handler | Handler: The handler on which the listener should be invoked, or null
 if the listener should be invoked on the calling thread's looper. | 
| Returns | |
|---|---|
| VirtualDisplay | The newly created virtual display, or null if the application could not create the virtual display. | 
| Throws | |
|---|---|
| SecurityException | if the caller does not have permission to create a virtual display with the specified flags. | 
createVirtualDisplay
public VirtualDisplay createVirtualDisplay (VirtualDisplayConfig config, Handler handler, VirtualDisplay.Callback callback)
Creates a virtual display.
 The content of a virtual display is rendered to a Surface provided
 by the application.
 
 The virtual display should be released
 when no longer needed.  Because a virtual display renders to a surface
 provided by the application, it will be released automatically when the
 process terminates and all remaining windows on it will be forcibly removed.
 
The behavior of the virtual display depends on the flags that are provided to this method. By default, virtual displays are created to be private, non-presentation and unsecure. Permissions may be required to use certain flags.
 As of Build.VERSION_CODES.KITKAT_WATCH, the surface may
 be attached or detached dynamically using VirtualDisplay.setSurface.
 Previously, the surface had to be non-null when createVirtualDisplay(VirtualDisplayConfig)
 was called and could not be changed for the lifetime of the display.
 
Detaching the surface that backs a virtual display has a similar effect to turning off the screen.
| Parameters | |
|---|---|
| config | VirtualDisplayConfig: The configuration of the virtual display, must be non-null. | 
| handler | Handler: The handler on which the listener should be invoked, or null
 if the listener should be invoked on the calling thread's looper. | 
| callback | VirtualDisplay.Callback: Callback to call when the state of theVirtualDisplaychanges
 This value may benull. | 
| Returns | |
|---|---|
| VirtualDisplay | The newly created virtual display, or null if the application could not create the virtual display. | 
| Throws | |
|---|---|
| SecurityException | if the caller does not have permission to create a virtual display with flags specified in the configuration. | 
getBrightness
public float getBrightness (int displayId, 
                int unit)Gets the brightness of the specified display in the specified brightness unit.
| Parameters | |
|---|---|
| displayId | int: The display of which brightness value to get from. | 
| unit | int: The unit of the brightness value
 Value isBRIGHTNESS_UNIT_PERCENTAGE, or android.hardware.display.DisplayManager.BRIGHTNESS_UNIT_NITS | 
| Returns | |
|---|---|
| float | |
getDisplay
public Display getDisplay (int displayId)
Gets information about a logical display. The display metrics may be adjusted to provide compatibility for legacy applications.
| Parameters | |
|---|---|
| displayId | int: The logical display id. | 
| Returns | |
|---|---|
| Display | The display object, or null if there is no valid display with the given id. | 
getDisplayTopology
public DisplayTopology getDisplayTopology ()
| Returns | |
|---|---|
| DisplayTopology | The current display topology that represents the relative positions of extended
 displays.
 This value may be null. | 
getDisplays
public Display[] getDisplays (String category)
Gets all currently valid logical displays of the specified category.
 When there are multiple displays in a category the returned displays are sorted
 of preference.  For example, if the requested category is
 DISPLAY_CATEGORY_PRESENTATION and there are multiple presentation displays
 then the displays are sorted so that the first display in the returned array
 is the most preferred presentation display.  The application may simply
 use the first display or allow the user to choose.
 
| Parameters | |
|---|---|
| category | String: The requested display category or null to return all displays. | 
| Returns | |
|---|---|
| Display[] | An array containing all displays sorted by order of preference. | 
See also:
getDisplays
public Display[] getDisplays ()
Gets all currently valid logical displays.
| Returns | |
|---|---|
| Display[] | An array containing all displays. | 
getHdrConversionMode
public HdrConversionMode getHdrConversionMode ()
Returns the HdrConversionMode of the device, which is set by the user.
 When HdrConversionMode.getConversionMode is
 HdrConversionMode.HDR_CONVERSION_SYSTEM, the
 HdrConversionMode.getPreferredHdrOutputType depicts the systemPreferredHdrOutputType.
 The HDR conversion mode chosen by user which considers the app override is returned. Apps can
 override HDR conversion using
 WindowManager.LayoutParams.setHdrConversionEnabled(boolean).
| Returns | |
|---|---|
| HdrConversionMode | This value cannot be null. | 
getMatchContentFrameRateUserPreference
public int getMatchContentFrameRateUserPreference ()
Returns the user preference for "Match content frame rate".
Never: Even if the app requests it, the device will never try to match its output to the original frame rate of the content.
Seamless: If the app requests it, the device will match its output to the original frame rate of the content, ONLY if the display can transition seamlessly.
Always: If the app requests it, the device will match its output to the original frame rate of the content. This may cause the screen to go blank for a second when exiting or entering a video playback.
| Returns | |
|---|---|
| int | Value is MATCH_CONTENT_FRAMERATE_UNKNOWN,MATCH_CONTENT_FRAMERATE_NEVER,MATCH_CONTENT_FRAMERATE_SEAMLESSS_ONLY, orMATCH_CONTENT_FRAMERATE_ALWAYS | 
registerDisplayListener
public void registerDisplayListener (Executor executor, long eventFilter, DisplayManager.DisplayListener listener)
Registers a display listener to receive notifications about given display event types.
| Parameters | |
|---|---|
| executor | Executor: Executor for the thread that will be receiving the callbacks. Cannot be null. | 
| eventFilter | long: A bitmask of the event types for which this listener is subscribed.
 Value is either0or a combination ofEVENT_TYPE_DISPLAY_ADDED,EVENT_TYPE_DISPLAY_CHANGED,EVENT_TYPE_DISPLAY_REMOVED,EVENT_TYPE_DISPLAY_REFRESH_RATE,EVENT_TYPE_DISPLAY_STATE, andEVENT_TYPE_DISPLAY_BRIGHTNESS | 
| listener | DisplayManager.DisplayListener: The listener to register.
 This value cannot benull. | 
registerDisplayListener
public void registerDisplayListener (DisplayManager.DisplayListener listener, Handler handler)
Registers a display listener to receive notifications about when
 displays are added, removed or changed.
 Because of the high frequency at which the refresh rate can change, clients will be
 registered for refresh rate change callbacks only when they request for refresh rate
 data(Display.getRefreshRate(). Or alternately, you can consider using
 registerDisplayListener(java.util.concurrent.Executor, long, android.hardware.display.DisplayManager.DisplayListener) and explicitly subscribe to
 EVENT_TYPE_DISPLAY_REFRESH_RATE event
 We encourage to use registerDisplayListener(java.util.concurrent.Executor, long, android.hardware.display.DisplayManager.DisplayListener)
 instead to subscribe for explicit events of interest
| Parameters | |
|---|---|
| listener | DisplayManager.DisplayListener: The listener to register. | 
| handler | Handler: The handler on which the listener should be invoked, or null
 if the listener should be invoked on the calling thread's looper. | 
registerTopologyListener
public void registerTopologyListener (Executor executor, Consumer<DisplayTopology> listener)
Register a listener to receive display topology updates.
| Parameters | |
|---|---|
| executor | Executor: The executor specifying the thread on which the callbacks will be invoked
 This value cannot benull.
 Callback and listener events are dispatched through thisExecutor, providing an easy way to control which thread is
 used. To dispatch events through the main thread of your
 application, you can useContext.getMainExecutor().
 Otherwise, provide anExecutorthat dispatches to an appropriate thread. | 
| listener | Consumer: The listener
 This value cannot benull. | 
setBrightness
public void setBrightness (int displayId, 
                float value, 
                int unit)Sets the brightness of the specified display. Accepts different brightness units.
 
 Requires Manifest.permission.WRITE_SETTINGS
| Parameters | |
|---|---|
| displayId | int: The logical display ID | 
| value | float: The brightness value to set | 
| unit | int: The unit of the brightness value
 Value isBRIGHTNESS_UNIT_PERCENTAGE, or android.hardware.display.DisplayManager.BRIGHTNESS_UNIT_NITS | 
unregisterDisplayListener
public void unregisterDisplayListener (DisplayManager.DisplayListener listener)
Unregisters a display listener.
| Parameters | |
|---|---|
| listener | DisplayManager.DisplayListener: The listener to unregister. | 
unregisterTopologyListener
public void unregisterTopologyListener (Consumer<DisplayTopology> listener)
Unregister a display topology listener.
| Parameters | |
|---|---|
| listener | Consumer: The listener to unregister
 This value cannot benull. | 
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-09-17 UTC.
