安卓权限,必需 = "false" ,失败



我的应用程序为用户提供对短信和电话呼叫的可选访问权限。我使用过:

 <uses-permission android:name="android.permission.READ_PHONE_STATE" android:required="false"></uses-permission>
 <uses-permission android:name="android.permission.SEND_SMS" android:required="false"></uses-permission>
 <uses-permission android:name="android.permission.CALL_PHONE" android:required="false"></uses-permission>

Google Play 不会向无法访问蜂窝网络的设备公开此应用。似乎必需的 = false 参数无法完成其工作。

这是一个错误吗?我还能做些什么吗?

为什么要

将所需的参数放在权限中?当你声明一个功能时,使用android:required参数,afaik...例如:

<uses-feature android:name="android.hardware.sensor.accelerometer" android:required="true" />

我认为您想做的是添加带有android:required="false"uses-feature声明.

使用此表更新清单:http://developer.android.com/guide/topics/manifest/uses-feature-element.html#permissions-features

<uses-feature android:name="android.hardware.telephony" android:required="false" />
您可以在

AndroidManifest.xml文件的权限选项卡中查看所有权限。

你不需要

在 中使用属性 android:required <uses-permission它仅适用于<uses-feature,请参阅定义

用途功能:要控制过滤,请始终在 元素,而不是依靠谷歌播放 "发现"<uses-permission>元素中的要求。然后,如果 要禁用对特定功能的过滤,可以添加一个 android:required="false"声明的属性。

以下是暗示硬件功能的权限列表:

https://developer.android.com/guide/topics/manifest/uses-feature-element.html#permissions-features

根据您的元素:

您可能只需要添加:

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

最新更新