And*_*zie 7 android android-manifest google-play
在我的应用程序中,我尝试使用位置信息(如果可用).因此我在我的清单中有这些权限:
例如
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
Run Code Online (Sandbox Code Playgroud)
注意:我没有位置,这是我所理解的用于在Android Market中过滤的标记.
当我上传到Android市场时,我收到了以下报告:
这个apk要求4个功能将用于Android Market过滤android.hardware.location.network android.hardware.location android.hardware.location.gps android.hardware.touchscreen
对我来说这表明只会出现具有location和location.network以及gps硬件的设备.
但我对位置的使用是可选的,如果它不可用,应用程序将工作.
我应该从我的清单中删除这些权限(当我尝试使用它时会出现异常吗?)?
有没有办法保留权限并避免基于它们的Android市场过滤?
我的应用程序也有同样的问题。我猜这是因为它minSdkVersion是4,即Android 1.6。从<uses-feature>文档中:
一般来说,如果您的应用程序设计为在 Android 1.6 及更早版本上运行,则 android:required 属性在 API 中不可用,并且 Android Market 假定所有声明都是必需的。
这是有道理的,因为当您将某个功能声明为可选功能时,您应该使用 中的hasSystemFeature()方法来PackageManager检查当前设备是否具有该特定功能。但是,此方法本身仅适用于 API 级别 5!
| 归档时间: |
|
| 查看次数: |
1549 次 |
| 最近记录: |