我在谷歌播放上发布了我的应用程序,我的应用程序在手机和平板电脑上,应用程序使用短信功能的发送,以防我们在手机上发送电子邮件,如果我们在谷歌播放时发布我的应用程序的货架数量,该应用程序不是从平板电脑PS下载:对不起我的英语
这是我的清单
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.package.myapps"
android:versionCode="10"
android:versionName="1.107" >
<uses-sdk
android:minSdkVersion="11"
android:targetSdkVersion="20" />
<compatible-screens>
<screen android:screenSize="normal" android:screenDensity="480" />
<screen android:screenSize="large" android:screenDensity="480" />
<screen android:screenSize="xlarge" android:screenDensity="480" />
<screen android:screenSize="normal" android:screenDensity="640" />
<screen android:screenSize="large" android:screenDensity="640" />
<screen android:screenSize="xlarge" android:screenDensity="640" />
<screen android:screenSize="small" android:screenDensity="ldpi" />
<screen android:screenSize="small" android:screenDensity="mdpi" />
<screen android:screenSize="small" android:screenDensity="hdpi" />
<screen android:screenSize="small" android:screenDensity="xhdpi"/>
<!--all normal size screens -->
<screen android:screenSize="normal" android:screenDensity="ldpi" />
<screen android:screenSize="normal" android:screenDensity="mdpi" />
<screen android:screenSize="normal" android:screenDensity="hdpi" />
<screen android:screenSize="normal" android:screenDensity="xhdpi" />
<!-- all large size screens -->
<screen android:screenSize="large" android:screenDensity="ldpi" />
<screen android:screenSize="large" android:screenDensity="mdpi" />
<screen android:screenSize="large" android:screenDensity="hdpi" />
<screen android:screenSize="large" android:screenDensity="xhdpi" />
<!-- all xlarge size screens -->
<screen android:screenSize="xlarge" android:screenDensity="ldpi" />
<screen android:screenSize="xlarge" android:screenDensity="mdpi" />
<screen android:screenSize="xlarge" android:screenDensity="hdpi" />
<screen android:screenSize="xlarge" android:screenDensity="xhdpi" />
<!-- Special case for Nexus 7 -->
<screen android:screenSize="large" android:screenDensity="213" />
</compatible-screens>
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:resizeable="true"
android:anyDensity="true"/>
<uses-feature android:name="android.hardware.TELEPHONY" android:required="false" />
<uses-feature android:name="android.hardware.location.GPS" android:required="false" />
<uses-feature android:name="android.hardware.location" android:required="false" />
<uses-feature android:name="android.hardware.wifi" android:required="false" />
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" android:required="false" />
<uses-permission android:name="android.permission.SEND_SMS" android:required="false" />
<uses-permission android:name="com.android.vending.BILLING" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" android:required="false" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" android:required="false" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" android:required="false"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" android:required="false"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="false" />
<permission
android:name="com.package.myapp.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="com.package.myapp.permission.MAPS_RECEIVE" />
这个问题有点陈旧,但也许有人会觉得答案很有用。
uses-permission
和uses-feature
。它们具有不同的属性集和不同的权限/功能名称。android:required
声明没有uses-permission
属性,因此如果指定它将被忽略。uses-feature
声明具有android:required
属性,您可以将其设置为false
以禁用对此特定功能的过滤。uses-permission
声明所需的设备硬件功能,并根据它们和uses-feature
声明过滤搜索结果。有关隐式过滤的更多信息,请参阅Google文档here。uses-feature
声明优先于uses-permission
声明。来自问题的清单中的错误是不正确的特征声明。它在Android中区分大小写,应该是
<uses-feature android:name="android.hardware.telephony" android:required="false"/>
代替
<uses-feature android:name="android.hardware.TELEPHONY" android:required="false"/>
此修复后将不再过滤应用程序。并且您可以从所有权限声明中删除android:required="false"
以使清单清除:
<uses-permission android:name="android.permission.SEND_SMS"/>
也可以在Google文档here中找到暗示具有其名称的硬件功能的权限列表
从我的问题中我可以理解的是,您想知道为什么当您在平板电脑上将新添加的应用安装到Google Play商店时,并不表示该应用使用此权限:
<uses-permission android:name="android.permission.SEND_SMS" android:required="false" />
这是因为平板电脑无法发送短信,只有手机可以,因此当用户访问平板电脑设备上的应用商店页面时,它会忽略此权限。
您的某个权限不适用于平板电脑,因此Google不会显示该权限。请注意,它不应该是'android:required'设置为false的地方。但是,值得单独检查其他人。