管理你的应用程序的可用根据设备特性。当安装一个应用,某项功能设备不提供时,可以通过<uses-feature> 定义在清单文件中
例如,如果您的应用程序在设备上没有意义,缺乏一个罗盘传感器, 根据需要可以声明罗盘传感器与下列清单标签:
<manifest ... >
<uses-featureandroid:name="android.hardware.sensor.compass"
android:required="true"/>
...
</manifest>
当前设备上的功能不可用时,适当的降低相应的应用功能,例如你可以查询是否可以通过调用一个人特征。hasSystemFeature()
PackageManager pm = getPackageManager(); if(!pm.hasSystemFeature(PackageManager.FEATURE_SENSOR_COMPASS)){ // This device does not have a compass, turn off the compass feature disableCompassFeature(); }
在这种情况下, 设置 minSdkVersion 最小值可能为您的应用程序的主要功能, 然后比较当前系统的版本, SDK_INT ,一个 代号常数 Build.VERSION_CODES 相对应的 API级别你想检查。 例如:如果一个版本,你不需要其主要功能,你可以在运行时适当的降低相应的功能在版本的等级。
if(Build.VERSION.SDK_INT <Build.VERSION_CODES.HONEYCOMB){ // Running on something older than API level 11, so disable // the drag/drop features that use ClipboardManager APIs disableDragAndDrop(); }