- sintaksis:
<uses-configuration android:reqFiveWayNav=["true" | "false"] android:reqHardKeyboard=["true" | "false"] android:reqKeyboardType=["undefined" | "nokeys" | "qwerty" | "twelvekey"] android:reqNavigation=["undefined" | "nonav" | "dpad" | "trackball" | "wheel"] android:reqTouchScreen=["undefined" | "notouch" | "stylus" | "finger"] />
- terdapat dalam:
<manifest>
- deskripsi:
Menunjukkan fitur hardware dan software yang dibutuhkan oleh aplikasi. Misalnya, aplikasi mungkin menetapkan bahwa keyboard fisik atau perangkat navigasi tertentu dibutuhkan, seperti trackball. Penetapan ini digunakan agar aplikasi tidak diinstal di perangkat yang tidak memungkinkannya berjalan.
Catatan: Sebagian besar aplikasi tidak menggunakan tag manifes ini. Selalu dukung input dengan tombol arah (D-pad) untuk membantu pengguna yang memiliki gangguan penglihatan, dan untuk mendukung perangkat yang menyediakan input D-pad selain atau sebagai ganti sentuhan.
Untuk mengetahui informasi cara mendukung input D-pad dalam aplikasi, baca Menangani tindakan pengontrol. Jika aplikasi Anda benar-benar tidak dapat berfungsi tanpa layar sentuh, gunakan tag
<uses-feature>
untuk mendeklarasikan jenis layar sentuh yang dibutuhkan, mulai dari"android.hardware.faketouch"
untuk peristiwa gaya sentuhan dasar hingga jenis sentuhan yang lebih canggih seperti"android.hardware.touchscreen.multitouch.jazzhand"
untuk input yang berbeda dari beberapa jari.- atribut:
android:reqFiveWayNav
- Apakah aplikasi membutuhkan kontrol navigasi lima arah atau tidak. Nilainya adalah
"true"
jika ya, dan"false"
jika tidak. Kontrol lima arah adalah kontrol yang dapat memindahkan pilihan ke atas, bawah, kanan, atau kiri, serta menyediakan cara untuk mengaktifkan pilihan saat ini. Kontrol ini dapat berupa tombol arah (D-pad), trackball, atau perangkat lainnya.Jika membutuhkan kontrol arah, tetapi bukan kontrol jenis tertentu, aplikasi dapat menetapkan atribut ini ke
"true"
dan mengabaikan atributreqNavigation
. Namun, jika membutuhkan jenis kontrol arah tertentu, aplikasi dapat mengabaikan atribut ini dan menetapkanreqNavigation
sebagai gantinya. android:reqHardKeyboard
- Apakah aplikasi membutuhkan keyboard hardware atau tidak. Nilainya adalah
"true"
jika ya, dan"false"
jika tidak. android:reqKeyboardType
- Jenis keyboard yang dibutuhkan aplikasi, jika ada.
Atribut ini tidak membedakan keyboard dalam bentuk hardware maupun
software. Jika keyboard hardware dengan jenis tertentu dibutuhkan,
tentukan jenisnya di sini lalu tetapkan atribut
reqHardKeyboard
ke"true"
.Nilai ini harus berupa salah satu string berikut:
Nilai Deskripsi " undefined
"Aplikasi tidak membutuhkan keyboard. Persyaratan keyboard tidak ditentukan. Nilai ini merupakan default. " nokeys
"Aplikasi tidak membutuhkan keyboard. " qwerty
"Aplikasi membutuhkan keyboard QWERTY standar. " twelvekey
"Aplikasi membutuhkan keypad dua belas tombol, seperti keypad di sebagian besar ponsel, dengan tombol digit mulai dari 0
hingga9
plus tombol bintang (*
) dan tombol tagar (#
). android:reqNavigation
- Perangkat navigasi yang dibutuhkan oleh aplikasi, jika ada. Nilai ini
harus berupa salah satu string berikut:
Nilai Deskripsi " undefined
"Aplikasi tidak membutuhkan jenis kontrol navigasi apa pun. Persyaratan navigasi tidak ditentukan. Nilai ini merupakan default. " nonav
"Aplikasi tidak membutuhkan kontrol navigasi. " dpad
"Aplikasi membutuhkan D-pad untuk navigasi. " trackball
"Aplikasi membutuhkan trackball untuk navigasi. " wheel
"Aplikasi membutuhkan roda navigasi. Jika membutuhkan kontrol navigasi, tetapi tidak mempermasalahkan jenis kontrol persisnya, aplikasi dapat menetapkan atribut
reqFiveWayNav
ke"true"
dan bukan menetapkan atribut ini. android:reqTouchScreen
- Jenis layar sentuh yang dibutuhkan oleh aplikasi, jika ada.
Nilai ini harus berupa salah satu string berikut:
Nilai Deskripsi " undefined
"Aplikasi tidak membutuhkan layar sentuh. Persyaratan layar sentuh tidak ditentukan. Nilai ini merupakan default. " notouch
"Aplikasi tidak membutuhkan layar sentuh. " stylus
"Aplikasi membutuhkan layar sentuh yang dioperasikan dengan stilus. " finger
"Aplikasi membutuhkan layar sentuh yang dioperasikan dengan jari. Catatan: Jika beberapa jenis input sentuhan dibutuhkan untuk aplikasi Anda, gunakan tag
<uses-feature>
untuk mendeklarasikan jenis layar sentuh yang dibutuhkan, dimulai dengan"android.hardware.faketouch"
untuk peristiwa gaya sentuhan dasar.
- diperkenalkan di:
- API level 3
- lihat juga:
-
- Atribut
configChanges
milik elemen<activity>
ConfigurationInfo
- Atribut
<konfigurasi-penggunaan>
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-27 UTC.
[null,null,["Terakhir diperbarui pada 2025-07-27 UTC."],[],[],null,["# <uses-configuration\u003e\n\nsyntax:\n:\n\n ```xml\n \u003cuses-configuration\n android:reqFiveWayNav=[\"true\" | \"false\"]\n android:reqHardKeyboard=[\"true\" | \"false\"]\n android:reqKeyboardType=[\"undefined\" | \"nokeys\" | \"qwerty\" | \"twelvekey\"]\n android:reqNavigation=[\"undefined\" | \"nonav\" | \"dpad\" | \"trackball\" | \"wheel\"]\n android:reqTouchScreen=[\"undefined\" | \"notouch\" | \"stylus\" | \"finger\"] /\u003e\n ```\n\ncontained in:\n: [\u003cmanifest\u003e](/guide/topics/manifest/manifest-element)\n\ndescription:\n\n: Indicates the hardware and software features the application requires.\n For example, an application might specify that it requires a physical keyboard\n or a particular navigation device, like a trackball. The specification is\n used to avoid installing the application on devices where it doesn't work.\n\n **Note:** Most apps don't use this manifest tag.\n *Always* support input with a directional pad (D-pad) to assist sight-impaired\n users and support devices that provide D-pad input in addition to or instead of touch.\n\n For\n information about how to support D-pad input in your app, read [Handle controller actions](/develop/ui/views/touch-and-input/game-controllers/controller-input). If\n your app absolutely can't function without a touchscreen, then instead use the [`\u003cuses-feature\u003e`](/guide/topics/manifest/uses-feature-element) tag to\n declare the required touchscreen type, ranging from `\"android.hardware.faketouch\"` for basic\n touch-style events to more advanced touch types such as `\"android.hardware.touchscreen.multitouch.jazzhand\"` for distinct input from multiple fingers.\n\nattributes:\n:\n\n `android:reqFiveWayNav`\n : Whether the application requires a five-way navigation control. It's\n `\"true\"` if it does, and `\"false\"` if not. A five-way\n control is one that can move the selection up, down, right, or left, and\n also provides a way of invoking the current selection. It can be a\n directional pad (D-pad), trackball, or other device.\n\n\n If an application requires a directional control, but not a control of a\n particular type, it can set this attribute to `\"true\"` and ignore\n the [reqNavigation](#nav) attribute. However,\n if it requires a particular type of directional control, it can ignore\n this attribute and set `reqNavigation` instead.\n\n `android:reqHardKeyboard`\n : Whether the application requires a hardware keyboard. It's\n `\"true\"` if it does, and `\"false\"` if not.\n\n `android:reqKeyboardType`\n : The type of keyboard the application requires, if any.\n This attribute doesn't distinguish between hardware and software\n keyboards. If a hardware keyboard of a certain type is required,\n specify the type here and also set the `reqHardKeyboard` attribute\n to `\"true\"`.\n\n\n The value must be one of the following strings:\n\n\n | Value | Description |\n |---------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------|\n | \"`undefined`\" | The application doesn't require a keyboard. A keyboard requirement isn't defined. This is the default value. |\n | \"`nokeys`\" | The application doesn't require a keyboard. |\n | \"`qwerty`\" | The application requires a standard QWERTY keyboard. |\n | \"`twelvekey`\" | The application requires a twelve-key keypad, like those on most phones, with keys for the digits from `0` through `9`, plus star (`*`) and pound (`#`) keys. |\n\n `android:reqNavigation`\n : The navigation device required by the application, if any. The value\n must be one of the following strings:\n\n | Value | Description |\n |---------------|--------------------------------------------------------------------------------------------------------------------------------------|\n | \"`undefined`\" | The application doesn't require any type of navigation control. The navigation requirement isn't defined. This is the default value. |\n | \"`nonav`\" | The application doesn't require a navigation control. |\n | \"`dpad`\" | The application requires a D-pad for navigation. |\n | \"`trackball`\" | The application requires a trackball for navigation. |\n | \"`wheel`\" | The application requires a navigation wheel. |\n\n\n If an application requires a navigational control, but the exact type of\n control doesn't matter, it can set the\n [reqFiveWayNav](#five) attribute to `\"true\"`\n rather than setting this one.\n\n `android:reqTouchScreen`\n : The type of touch screen the application requires, if any.\n The value must be one of the following strings:\n\n | Value | Description |\n |---------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n | \"`undefined`\" | The application doesn't require a touch screen. The touch screen requirement is undefined. This is the default value. |\n | \"`notouch`\" | The application doesn't require a touch screen. |\n | \"`stylus`\" | The application requires a touch screen that is operated with a stylus. |\n | \"`finger`\" | The application requires a touch screen that is operated with a finger. **Note:** If some type of touch input is required for your app, instead use the [`\u003cuses-feature\u003e`](/guide/topics/manifest/uses-feature-element) tag to declare the required touchscreen type, beginning with `\"android.hardware.faketouch\"` for basic touch-style events. |\n\nintroduced in:\n: API level 3\n\nsee also:\n:\n - [configChanges](/guide/topics/manifest/activity-element#config) attribute of the [\u003cactivity\u003e](/guide/topics/manifest/activity-element) element\n - [ConfigurationInfo](/reference/android/content/pm/ConfigurationInfo)"]]