当前位置: 代码迷 >> Android >> Android开发-API指南-<uses-configuration>
  详细解决方案

Android开发-API指南-<uses-configuration>

热度:31   发布时间:2016-04-28 03:16:14.0
Android开发-API指南-<uses-configuration>

<uses-configuration>

英文原文:http://developer.android.com/guide/topics/manifest/uses-configuration-element.html
采集(更新)日期:2014-7-7
搬迁自原博客:http://blog.sina.com.cn/s/blog_48d491300100zmvv.html

语法:
<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"] /> 
包含于:
<manifest>
说明:
指明应用程序的软硬件需求。 例如,可声明需要物理键盘或轨迹球之类的特殊导航设备。 这些声明可用来避免将应用程序安装到无法运行的设备上。

注意:大部分应用程序不应该用到本 Manifest 标签。 为了帮助视力有缺陷的用户,应该确保程序能够使用方向键(d-pad)作为输入手段,并支持把方向键作为触摸屏的补充或替代者的设备。 关于如何在应用程序中支持方向键输入的信息,请参阅 启用输入焦点的导航。 如果应用程序离开了触摸屏肯定就无法正常运行了,则请换用 <uses-feature> 标签对所需的触摸屏类型进行声明,从最简单的触摸类型"android.hardware.faketouch",到更高级的诸如 "android.hardware.touchscreen.multitouch.jazzhand" 之类的多点触控输入。

属性:
android:reqFiveWayNav
应用程序是否需要五维导航键 —“true”使用,“false”不使用。 五维控制键可以实现上下左右移动及提交当前选中项,可以是 D-pad(方向键)、轨迹球或其他设备。

如果应用程序需要用到方向键,但不指定是哪种设备, 则可以将本属性设为“true”并忽略 reqNavigation 属性。 但如果需要某个指定类型的方向键,那么可以忽略本属性并换用 reqNavigation

android:reqHardKeyboard
应用程序是否需要用到硬件键盘 — “true”使用,“false”不使用。
android:reqKeyboardType
当存在键盘时,应用程序需要用到的键盘类型。 本属性不区分硬键盘和软键盘。 如果需要指定某种类型的硬件键盘,请设置本属性并同时将 reqHardKeyboard 属性设为“true”。

本属性值必须是以下字符串之一:

说明
"undefined"应用程序不需要使用键盘(未声明键盘需求。)这是默认值。
"nokeys"应用程序不需要使用键盘。
"qwerty"应用程序需要用到标准的 QWERTY 键盘。
"twelvekey"应用程序需要用到大多数电话附带的 12 键数字键盘 — 包括数字键 0-9、星号(*)、井号(#)键。
android:reqNavigation
当设备存在时,应用程序需要用到的导航设备。 本属性值必须是以下字符串之一:
说明
"undefined"应用程序不需要使用导航键。(未声明导航键需求。)这是默认值。
"nonav"应用程序不需要使用导航键。
"dpad"应用程序需要使用 D-pad (方向键)进行导航。
"trackball"应用程序需要使用轨迹球进行导航。
"wheel"应用程序需要用到导航拨轮。

如果应用程序需要用到导航键,但无所谓是哪种确切的类型,那就可以将 reqFiveWayNav 属性设为“true”,以取代本属性。

android:reqTouchScreen
当设备存在时,应用程序需要用到的触摸屏类型。 本属性值必须是以下字符串之一:
说明
"undefined"应用程序不需要使用触摸屏。(未声明触摸屏需求。)这是默认值。
"notouch"应用程序不需要使用触摸屏。
"stylus"应用程序需要用到触笔操作的触摸屏。
"finger"应用程序需要用到手指操作的触摸屏。

注意: 如果应用程序需要用到某种类型的触摸屏输入手段,请换用 <uses-feature> 声明触摸屏的类型需求,以 "android.hardware.faketouch" 开头的为基本型触摸事件。

引入自:
API 级别 3
参阅:
  相关解决方案