Google Play和基于功能的过滤(四)

软件功能参考

下表中列出了由当前大多数发布的发布的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
android.hardware.camera.autofocus

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
android.hardware.location

ACCESS_FINE_LOCATION

android.hardware.location.gpsand
android.hardware.location

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

 

 

posted @ 2012-05-29 15:36  移动应用开发  阅读(236)  评论(0编辑  收藏  举报