软件功能参考
下表中列出了由当前大多数发布的发布的Android平台所支持的软件功能描述符。对于应用程序要使用或需要的单一功能,都要在应用程序的清单的<uses-feature>元素中使用android:name属性来进行声明。
功能 | 属性值 | 说明 | 注释 |
Live Wallpaper | android.software.live_wallpaper | 应用程序使用或提供Live Wallpapers |
|
SIP/VOIP | android.software.sip | 应用程序要使用设备上的SIP服务 |
|
android.software.sip.voip | 子功能。应用程序要使用设备上的基于SIP的VOIP服务。 | 声明这个子功能,暗示着声明了android.software.sip父功能,除非声明该功能时也声明了android:required=”false” |
暗示功能需求的权限
在上面列出的一些功能常量中,要在相应的API发布之后,才对应用有效。例如,在Android2.2(API Level 8)中添加了android.hardware.bluetooth功能常量,但是它所指向的蓝牙API是在Android2.0(API Level 5)中被添加的。正因为这样,某些应用能够在有能力通过<uses-feature>元素声明其所需的API功能之前,就能够使用这些API。
要防止无意间让某些功能对应用程序有效,Google Play会假定某些相关硬件的权限,来指定默认情况下所需要的底层硬件功能。例如,使用蓝牙功能的应用程序必须在<uses-permission>元素中申请BLUETOOTH权限,对于旧版应用程序,Google Play会假定权限的声明,意味着应用程序需要底层的android.hardware.bluetooth功能,并且会基于该功能来过滤应用程序。
下表中列出的暗示功能需求的权限,等同于那些在<uses-feature>元素中声明的功能需求。要注意的是那些包含android:required属性的<uses-feature>声明,它的优先级要始终高于下表中所暗示的功能需求。
对于下表中的任何权限,都能够用带有android:required=”false”属性的<uses-feature>元素来明确的禁止基于暗示功能的过滤。例如,要禁止基于CAMERA权限的任何过滤,可以在其清单文件中添加以下<uses-feature>元素的声明:
<uses-featureandroid:name="android.hardware.camera"android:required="false"/>
分类 | 权限 | 暗示的功能需求 |
Bluetooth | BLUETOOTH | android.hardware.bluetooth (See Special handling for Bluetooth feature for details.) |
BLUETOOTH_ADMIN | android.hardware.bluetooth | |
Camera | CAMERA | android.hardware.cameraand |
Location | ACCESS_MOCK_LOCATION | android.hardware.location |
ACCESS_LOCATION_EXTRA_COMMANDS | android.hardware.location | |
INSTALL_LOCATION_PROVIDER | android.hardware.location | |
ACCESS_COARSE_LOCATION | android.hardware.location.networkand | |
ACCESS_FINE_LOCATION | android.hardware.location.gpsand | |
Microphone | RECORD_AUDIO | android.hardware.microphone |
Telephony | CALL_PHONE | android.hardware.telephony |
CALL_PRIVILEGED | android.hardware.telephony | |
MODIFY_PHONE_STATE | android.hardware.telephony | |
PROCESS_OUTGOING_CALLS | android.hardware.telephony | |
READ_SMS | android.hardware.telephony | |
RECEIVE_SMS | android.hardware.telephony | |
RECEIVE_MMS | android.hardware.telephony | |
RECEIVE_WAP_PUSH | android.hardware.telephony | |
SEND_SMS | android.hardware.telephony | |
WRITE_APN_SETTINGS | android.hardware.telephony | |
WRITE_SMS | android.hardware.telephony | |
Wifi | ACCESS_WIFI_STATE | android.hardware.wifi |
CHANGE_WIFI_STATE | android.hardware.wifi | |
CHANGE_WIFI_MULTICAST_STATE | android.hardware.wifi |