蓝牙LE限制Play商店的可用性

时间:2015-09-11 15:51:57

标签: android

我的应用程序使用蓝牙LE但不是必需的,我添加了:

 <uses-feature
  android:name="android.hardware.bluetooth_le"
  android:required="false" />

进入清单但我仍然看到它在将apk上传到Play商店时列为一项功能。

自添加此权限以来,设备的资格已经大幅下降,并且不确定这是否是Android框架中的错误或者我遗漏了什么。

2 个答案:

答案 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功能。