【问题标题】:Android Manifest Restrict To TabletsAndroid 清单限制为平板电脑
【发布时间】:2014-08-23 09:55:06
【问题描述】:

出于商业原因,我想将我的 Android 应用程序严格限制在平板设备上。

目前,我可以通过设置将应用限制为 Honeycomb 设备:

android:minSdkVersion="11"

但下一个版本的 Android(Ice Cream Sandwich)将为平板电脑和手机版本的操作系统提供更高的版本号。

我可以指定任何清单属性来将其限制为平板设备吗? (Honeycomb 或任何更高版本的平板电脑)

【问题讨论】:

标签: android android-manifest google-play


【解决方案1】:

你会发现这个链接很棒:http://android-developers.blogspot.com/2011/09/preparing-for-handsets.html

我们所说的“平板电脑”的问题在于,对于 evryone 的定义并不相同。 我想到了与手机大小相同但带有“平板电脑”名称的爱可视 5IT。戴尔 Streak 也有同样的问题。

我个人不会称它为平板电脑..

因此,如果您想限制为 7 或 5 英寸的设备,您应该使用 xlargeScreens 和 largeScreens。

(HTC flyer - 7 英寸 - 使用大屏幕也有一个错误,怪 HTC)

我猜想在 Manifest 中使用 Screen size 会满足您的需求:

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

【讨论】:

  • 我不得不使用上面的代码来阻止 OS 3.2 给我一个 view comp。弹出窗口(目前特定于 3.2) android:xlargeScreens="true"
  • 我没有在我的清单文件中得到这个选项 android:requiresSmallestWidthDp="600" android:compatibleWidthLimitDp="integer" android:largestWidthLimitDp="integer" 我使用的是 Android 3.0 版本...跨度>
  • 用一些东西替换整数..或者删除行!
【解决方案2】:
              android:requiresSmallestWidthDp="600"
              android:compatibleWidthLimitDp="integer"
              android:largestWidthLimitDp="integer"

请注意,Android Market 目前不支持此属性进行过滤(来自官方指南)。

使用支持大屏幕和超大屏幕,现在您有两个选择:

  • 手动从 Market(+500...) 中排除不是平板电脑的大屏幕设备

  • 您可以以编程方式测量宽度,如果宽度

虽然我们必须等待 Market 过滤 android:requiresSmallestWidthDp="600" ...

【讨论】:

  • 小心从现在开始使用这种方法!具有全高清分辨率 (1920x1080) 的 7" 平板电脑具有大约 315 ppi,因此是 XHDPI/320 设备。1080 / (320/160) 等于 540 dp,并将其排除在 sw600dp 限制之外。从现在开始,7"@1080p平板电脑可能会很常见(Nexus 7 fullHD 传闻敲响了警钟),所以告诉这样的用户他的平板电脑不是平板电脑会很尴尬!
【解决方案3】:

请查看文档 - http://developer.android.com/guide/practices/screens-distribution.html

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

【讨论】:

    【解决方案4】:

    【讨论】:

    • 虽然这在理论上可以回答问题,it would be preferable 在此处包含答案的基本部分,并提供链接以供参考。
    猜你喜欢
    • 1970-01-01
    • 2017-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-19
    相关资源
    最近更新 更多