播放商店忽略API 21上的requiredSmallestWidthDp +

时间:2017-08-01 09:13:17

标签: android google-play

我想避免在非平板电脑设备(宽度小于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“设备似乎很常见)。

1 个答案:

答案 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>