我想避免在非平板电脑设备(宽度小于600dp的任何东西)上通过Play商店安装我的应用。
如https://developer.android.com/guide/practices/screens-distribution.html#FilteringTabletApps中所述,我在清单上使用<supports-screens>
requiresSmallestWidthDp
,但商店似乎忽略此属性(例如我仍然可以在Play控制台的兼容设备部分看到Nexus 5
正如https://developer.android.com/guide/topics/manifest/supports-screens-element.html所述,我的minSdkVersion 21
:
如果您正在为Android 3.2及更高版本开发应用程序,则应使用这些属性来声明屏幕大小支持,而不是基于通用屏幕大小的属性。
因此,如文档中所述,应使用android:smallScreens="false"
等来避免。但是商店会忽略新的/首选参数。
现在该怎么办?我希望该应用仅适用于requiresSmallestWidthDp=600
的设备,因此我也会支持Nexus 7.
但是当使用遗留参数largeScreens="true"
时,我允许安装任何&gt; 480dp这意味着屏幕上的空间更少(实际上我想要720dp,但7“设备似乎很常见)。
答案 0 :(得分:-1)
对于小型和普通设备,将以下行放在清单后面
<compatible-screens>
<!-- all small size screens -->
<screen
android:screenDensity="ldpi"
android:screenSize="small" />
<screen
android:screenDensity="mdpi"
android:screenSize="small" />
<screen
android:screenDensity="hdpi"
android:screenSize="small" />
<screen
android:screenDensity="xhdpi"
android:screenSize="small" />
<!-- all normal size screens -->
<screen
android:screenDensity="ldpi"
android:screenSize="normal" />
<screen
android:screenDensity="mdpi"
android:screenSize="normal" />
<screen
android:screenDensity="hdpi"
android:screenSize="normal" />
<screen
android:screenDensity="xhdpi"
android:screenSize="normal" />
</compatible-screens>