避免在可选使用位置的情况下过滤Android电子市场

在我的应用程序中,如果可用,我尝试使用位置信息。 因此,我在清单中拥有这些权限:

例如

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

注意:我没有位置信息,这是我了解的标签用于Android电子市场中的过滤。

当我上传到Android市场时,我得到这个报告:

这个apk请求4个将用于Android Market过滤的功能android.hardware.location.network android.hardware.location android.hardware.location.gps android.hardware.touchscreen

对我来说这表明它只会显示具有位置和location.network和gps硬件的设备。

但我使用的位置是可选的,如果它不是可用的,该应用程序将工作。

我是否应该从清单中删除这些权限(当我尝试使用它时是否会收到异常?)?

有没有办法让他们离开权限并避免基于他们的Android Market过滤?


我的应用程序有同样的问题。 我想这是因为minSdkVersion是4,即Android 1.6。 从<uses-feature>文档中:

通常,如果您的应用程序设计为在Android 1.6及更早版本上运行,则android:required属性在API中不可用,Android Market假定需要任何和所有声明。

这是有道理的,因为当你声明一个特性为可选时,你应该使用PackageManagerhasSystemFeature()方法来检查当前设备是否具有该特性。 但是,此方法本身仅适用于API Level 5!

链接地址: http://www.djcxy.com/p/7075.html

上一篇: Avoid Android Market filtering on optional use of location

下一篇: atribute of object in python?