10

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

 <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 不会将此应用程序公开给没有蜂窝网络访问权限的设备。似乎 required = false 参数无法完成其工作。

这是一个错误吗?还有什么我可以做的吗?

4

3 回答 3

21

为什么要将所需的参数放入权限中?当你声明一个特性时使用 android:required 参数,afaik... 例如:

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

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

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

<uses-feature android:name="android.hardware.telephony" android:required="false" />
于 2012-05-22T18:19:10.467 回答
4

您可以在AndroidManifest.xml文件的权限选项卡中看到所有权限。

于 2012-05-22T19:09:20.453 回答
1

您不需要使用其中的属性仅适用于 android:required,请参阅定义<uses-permission<uses-feature

uses-feature:为了控制过滤,总是在元素中显式声明硬件特性,而不是依靠 Google Play 来“发现”<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" />
于 2016-05-17T14:30:19.750 回答