我的应用程序使用蓝牙LE但不是必需的,我添加了:
<uses-feature
android:name="android.hardware.bluetooth_le"
android:required="false" />
进入清单但我仍然看到它在将apk上传到Play商店时列为一项功能。
自添加此权限以来,设备的资格已经大幅下降,并且不确定这是否是Android框架中的错误或者我遗漏了什么。
答案 0 :(得分:2)
看起来你是通过在清单中声明它来正确地做到了
<uses-feature
android:name="android.hardware.bluetooth_le"
android:required="false" />
然后在需要使用该功能时使用这样的块。
// Use this check to determine whether BLE is supported on the device. Then
// you can selectively disable BLE-related features.
if (!getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH_LE) {
Toast.makeText(this, R.string.ble_not_supported, Toast.LENGTH_SHORT).show();
finish();
}
似乎它正在像对待它一样对待它。您是否还宣布了其他可能被合并在一起并清除结果清单的清单?
答案 1 :(得分:1)
原来我的问题在于Estimote SDK,我在文档中找到了这一行:
Android Estimote SDK需要某些权限才能运行 正常。幸运的是,你不需要采取额外的步骤。该 权限在SDK的清单文件中定义,并且是 自动合并到你的应用程序的AndroidManifest.xml中,所以你没有 需要手工申报。
所以我决定将库升级到最新版本,现在我的应用程序不需要蓝牙LE功能。