设备的兼容性

1、为了能让你的应用程序根据设备特性来管理其可用性,Android对一些不是所有设备都可用的硬件和软件功能定义了一些id。例如,你的应用程序在一个缺乏指南针传感器的设备上是没有意义的,那么你可以在清单文件中如下声明:

<manifest ... >
    <uses-feature android:name="android.hardware.sensor.compass"
                  android:required="true" />
    ...
</manifest>
但是,如果你应用程序中的主要功能并不需要这种设备功能,你可以将required设置为false,并在运行时检查设备的功能,使用hasSystemFeature(),例如:

PackageManager pm = getPackageManager();
if (!pm.hasSystemFeature(PackageManager.FEATURE_SENSOR_COMPASS)) {
    // This device does not have a compass, turn off the compass feature
    disableCompassFeature();
}
注意:并且一些功能是隐式要求设备的功能,例如你的应用程序需要蓝牙的应用权限,这隐含着feature_bluetooth的要求,你可以禁用基于该设备特性的功能对那些没有蓝牙功能的设备并且让你的应用程序可以让没有蓝牙的设备下载通过在<user-feature>设置require为false

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值