【问题标题】:How to restrict app from working on tablets? [closed]如何限制应用程序在平板电脑上运行? [关闭]
【发布时间】:2013-05-02 06:29:26
【问题描述】:

我正在为手机制作一个安卓应用。我的 UI 没有针对平板电脑进行优化,所以我不希望平板电脑用户使用它。如何限制我的应用在平板电脑上运行?

【问题讨论】:

标签: android


【解决方案1】:

您必须在清单中使用 <compatible-screens> 元素来明确声明您希望支持的屏幕尺寸和密度。

以下示例来自the documentation on this subject

<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 设备(例如 SONY Xperia Z、Droid DNA)上。您还需要为 xxhdpi 添加另一对 &lt;screen&gt; 元素以涵盖该场景:

<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" />
    <screen android:screenSize="small" android:screenDensity="xxhdpi" />
    <!-- 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" />
    <screen android:screenSize="normal" android:screenDensity="xxhdpi" />
</compatible-screens>

【讨论】:

  • 你的意思是我必须添加这一行来支持 Xperia Z: "" ? screenSize large 和 xlarge 是否专门用于平板电脑?
  • 将 android:xlargeScreens="false" 添加到
  • @vergilcorleone:“screenSize large 和 xlarge 是否专门用于平板电脑?” ——真的没有“平板电脑”这样的东西。 largexlarge 覆盖屏幕尺寸为 5" 及以上的设备。您是否将这些设备视为“平板电脑”取决于您。“将 android:xlargeScreens="false" 添加到
  • 为什么不将 android:xlargeScreens="false" 添加到支持屏幕工作?
  • @vergilcorleone:您所说的只是您还没有编写自己对-xlarge 屏幕的支持。因此,Android 将为您扩展您的 UI,您的应用仍将发布到-xlarge 设备。
猜你喜欢
  • 2014-09-18
  • 1970-01-01
  • 2013-01-21
  • 1970-01-01
  • 2016-10-16
  • 1970-01-01
  • 2016-07-02
  • 2012-07-26
  • 1970-01-01
相关资源
最近更新 更多