GameManager


public final class GameManager
extends Object

java.lang.Object
   ↳ android.app.GameManager


The GameManager allows system apps to modify and query the game mode of apps.

Note: After Build.VERSION_CODES.VANILLA_ICE_CREAM, some devices that do not support the GameManager features may not publish a GameManager instance. These device types include:

Therefore, you should always do a null check on the return value of Context.getSystemService(Class) and Context.getSystemService(String) when trying to obtain an instance of GameManager on the aforementioned device types.

Summary

Constants

int GAME_MODE_BATTERY

Battery game mode will save battery and give longer game play time.

int GAME_MODE_CUSTOM

Custom game mode that has user-provided configuration overrides.

int GAME_MODE_PERFORMANCE

Performance game mode maximizes the game's performance.

int GAME_MODE_STANDARD

Standard game mode means the platform will use the game's default performance characteristics.

int GAME_MODE_UNSUPPORTED

Game mode is not supported for this application.

Public methods

int getGameMode()

Return the user selected game mode for this application.

void setGameState(GameState gameState)

Called by games to communicate the current state to the platform.

Inherited methods

Constants

GAME_MODE_BATTERY

Added in API level 31
public static final int GAME_MODE_BATTERY

Battery game mode will save battery and give longer game play time.

Constant Value: 3 (0x00000003)

GAME_MODE_CUSTOM

Added in API level 34
public static final int GAME_MODE_CUSTOM

Custom game mode that has user-provided configuration overrides.

Custom game mode is expected to be handled only by the platform using users' preferred config. It is currently not allowed to opt in custom mode in game mode XML file nor expected to perform app-based optimizations when activated.

Constant Value: 4 (0x00000004)

GAME_MODE_PERFORMANCE

Added in API level 31
public static final int GAME_MODE_PERFORMANCE

Performance game mode maximizes the game's performance.

This game mode is highly likely to increase battery consumption.

Constant Value: 2 (0x00000002)

GAME_MODE_STANDARD

Added in API level 31
public static final int GAME_MODE_STANDARD

Standard game mode means the platform will use the game's default performance characteristics.

Constant Value: 1 (0x00000001)

GAME_MODE_UNSUPPORTED

Added in API level 31
public static final int GAME_MODE_UNSUPPORTED

Game mode is not supported for this application.

Constant Value: 0 (0x00000000)

Public methods

getGameMode

Added in API level 31
public int getGameMode ()

Return the user selected game mode for this application.

An application can use android:isGame="true" or android:appCategory="game" to indicate that the application is a game. If an application is not a game, always return GAME_MODE_UNSUPPORTED.

Developers should call this API every time the application is resumed.

If a game's targetSdkVersion is Build.VERSION_CODES.TIRAMISU or lower, and when the game mode is set to GAME_MODE_CUSTOM which is available in Build.VERSION_CODES.UPSIDE_DOWN_CAKE or newer, this API will return GAME_MODE_STANDARD instead for backward compatibility.

Returns
int Value is GAME_MODE_UNSUPPORTED, GAME_MODE_STANDARD, GAME_MODE_PERFORMANCE, GAME_MODE_BATTERY, or GAME_MODE_CUSTOM

setGameState

Added in API level 33
public void setGameState (GameState gameState)

Called by games to communicate the current state to the platform.

Parameters
gameState GameState: An object set to the current state. This value cannot be null.