过滤掉谷歌播放中的所有平板电脑(无屏幕兼容模式)

时间:2015-01-08 09:50:24

标签: android google-play

关于文档(http://developer.android.com/guide/practices/screens-distribution.html#FilteringHandsetApps),您应该这样做:

<compatible-screens>
    <!-- all small size screens -->
    <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" />
</compatible-screens>

但这也会过滤掉手机xxhdpi - 很遗憾,您无法添加xxhdpi,因为它不可用作值:http://developer.android.com/guide/topics/manifest/compatible-screens-element.html 支持屏幕也没有选择:

  

警告:如果您使用反向元素   场景(当您的应用程序与较大的屏幕不兼容时)   并将较大的屏幕尺寸属性设置为&#34; false&#34;,然后设置为外部   Google Play等服务不会应用过滤功能。你的申请   仍然可用于更大的屏幕,但是当它运行时,它会   不调整大小以适应屏幕。相反,系统将模拟一个   手机屏幕尺寸(约320dp x 480dp;参见屏幕兼容性   模式以获取更多信息)。如果你想阻止你的申请   从大屏幕下载,使用,作为   在上一节中讨论了关于声明应用程序仅适用于   手机。

另一种选择是过滤电话功能 - 但有一些平板电脑具有电话功能。有没有办法做到这一点?

4 个答案:

答案 0 :(得分:3)

这应该有效:

<compatible-screens>
    <!-- all small size screens -->
    ...
    <!-- support for xxhdpi densities -->
    <screen android:screenSize="small" android:screenDensity="480" />
    <!-- all normal size screens -->
    ...
    <!-- support for xxhdpi densities -->
    <screen android:screenSize="normal" android:screenDensity="480" />
</compatible-screens>

根据the documentation itself,您只需为xxhdpi屏幕设置原始int值:

  

注意:此属性当前不接受xxhdpi作为有效   值,但您可以指定480作为值,即   xhdpi屏幕的近似阈值。

答案 1 :(得分:0)

你试过吗?

<supports-screens android:largestWidthLimitDp="500"/>

答案 2 :(得分:0)

我会使用此配置,以便您可以添加更多手机:

<compatible-screens>
    <!-- small size screens -->
    <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" />
    <screen android:screenSize="small" android:screenDensity="280" />
    <screen android:screenSize="small" android:screenDensity="360" />
    <screen android:screenSize="small" android:screenDensity="420" />
    <screen android:screenSize="small" android:screenDensity="480" />
    <screen android:screenSize="small" android:screenDensity="560" />
    <screen android:screenSize="small" android:screenDensity="640" />
    <!-- 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" />
    <screen android:screenSize="normal" android:screenDensity="280" />
    <screen android:screenSize="normal" android:screenDensity="360" />
    <screen android:screenSize="normal" android:screenDensity="420" />
    <screen android:screenSize="normal" android:screenDensity="560" />
    <screen android:screenSize="normal" android:screenDensity="640" />
</compatible-screens>

这样你就可以支持http://developer.android.com/guide/topics/manifest/compatible-screens-element.html中提到的所有可能的密度,如果你想支持一些最新的手机(比如三星Galaxy S6),你也可以加640;

答案 3 :(得分:-1)

   <supports-screens
    android:largeScreens="true"
    android:normalScreens="false"
    android:requiresSmallestWidthDp="600"
    android:smallScreens="false"
    android:xlargeScreens="true" />

它对你的帮助。过滤片只有7和10英寸。这一次