我构建了一个应用,我正在尝试排除小屏幕设备。为此,我利用了清单中的Support Screen Element。
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="false"
android:xlargeScreens="true"
android:requiresSmallestWidthDp="320" />
正如开发者页面的链接所示:例如,典型的手机屏幕最小宽度为320dp 。
前一天我注意到有小设备的人仍然会给出不好的评论,因为他们仍然可以下载应用程序,并且一些布局元素不会出现在屏幕上。当然,一种解决方案是调整布局,但此刻我的问题是另一个。
似乎android:requiresSmallestWidthDp
属性无效。事实上,我试图将其设置为700或更高,只是为了进行实验,并将其加载到商店,支持的设备数量不会改变!
我还将SDK的次要版本更改为13,以防止该属性出现兼容性问题:
<uses-sdk
android:minSdkVersion="13"
android:targetSdkVersion="19" />
其他属性运行良好,例如,如果我删除普通屏幕,支持的设备数量会下降。
我想删除dpi低于320的设备,但我不能。我无法理解我做错了什么。
有这句话: Google Play目前不支持此属性进行过滤(在Android 3.2上),因此如果您的应用不支持小屏幕,则应继续使用其他尺寸属性。 但是:
android:requiresSmallestWidthDp
属性,人们仍然可以安装该应用,然后呢?android:compatibleWidthLimitDp
和android:largestWidthLimitDp
。但他们都认为最大的“最小宽度”而不是我需要的最小宽度。所以我的问题是,如何可以阻止屏幕小于500像素或360 dpi的用户安装我的应用?我可以吗?
答案 0 :(得分:6)
警告:Android系统不关注此属性,因此它不会影响应用程序在运行时的行为方式。相反,它用于为您的应用程序启用Google Play等服务的过滤功能。但是, Google Play目前不支持此属性进行过滤(在Android 3.2上),因此如果您的应用不支持小屏幕,则应继续使用其他尺寸属性。
<强>更新强>
在Google Play过滤时,似乎没有使用android:requiresSmallestWidthDp
。只有android:smallScreens
,android:normalScreens
,android:largeScreens
和android:xlargeScreens
适用于此。
我做了下一次测试:
<supports-screens
android:smallScreens="false"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"/>
或
<supports-screens
android:smallScreens="false"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:requiresSmallestWidthDp="360"/>
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"/>
或
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true"
android:requiresSmallestWidthDp="360"/>
仅添加了65个设备
您可以尝试使用<compatible-screens>
描述:
指定应用程序所使用的每个屏幕配置 兼容。该元素只有一个实例 允许在清单中,但它可以包含多个 元素。每个元素指定一个特定的屏幕 尺寸密度组合,与应用程序兼容。
Android系统无法读取清单 element(既不在安装时也不在运行时)。这个元素是 仅供参考,可由外部服务使用(例如 Google Play)可以更好地了解应用程序的兼容性 特定的屏幕配置并为用户启用过滤。任何 未在此元素中声明的屏幕配置是一个屏幕 与应用程序不兼容的。因此,外部服务 (例如Google Play)不应向设备提供应用程序 有这样的屏幕。
警告:通常,您不应使用此清单元素。使用此元素可以大大减少您的潜在用户群 应用程序,不允许用户安装您的应用程序 有一个没有列出的屏幕配置的设备。 在申请时,您应该仅将其用作最后的手段 绝对不适用于特定的屏幕配置。代替 使用此元素,您应该遵循支持指南 多个屏幕,为多个屏幕提供可扩展的支持 使用替代布局和位图为不同的屏幕尺寸和 密度