Support game controllers
Stay organized with collections
Save and categorize content based on your preferences.
You can enhance the user experience in your game by letting
players use game controllers. The Android framework
provides APIs for detecting and processing user input from game
controllers.
This guide shows how to make your game work consistently with game
controllers across different Android API levels (API level 9 and up) and
how to enhance the gaming experience for players by supporting multiple
controllers simultaneously in your app.
Note:
If you are developing games or writing a C++ app, use the
Game Controller Library
that is part of the
Android Game Development Kit (AGDK) instead.
Lessons
-
Handle controller actions
-
Learn how to handle user input from common input elements on game
controllers, including directional pad (D-pad) buttons, gamepad buttons,
and joysticks.
-
Support controllers across Android versions
-
Learn how to make game controllers behave the same across devices
running different versions of Android.
-
Support multiple game controllers
-
Learn how to detect and use multiple game controllers that are
simultaneously connected.
-
Additional game controller features
-
Learn how to use additional controller features.
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 2024-05-03 UTC.
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"Missing the information I need"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"Too complicated / too many steps"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"Out of date"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"Samples / code issue"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"Other"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"Easy to understand"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"Solved my problem"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"Other"
}]
{"lastModified": "Last updated 2024-05-03 UTC."}
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-05-03 UTC."]]