【问题标题】:Screen compatibility on android devices安卓设备的屏幕兼容性
【发布时间】:2014-05-08 00:36:33
【问题描述】:

我想让我的应用程序仅用于智能手机而不是平板电脑。

在清单中我已经把这行放在屏幕兼容性上

<compatible-screens>
    <!-- all small size screens -->
    <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="mdpi" />
    <screen android:screenSize="normal" android:screenDensity="hdpi" />
    <screen android:screenSize="normal" android:screenDensity="xhdpi" />
    <screen android:screenSize="normal" android:screenDensity="480" />
    <!-- all large size screens -->
    <screen android:screenSize="large" android:screenDensity="mdpi" />
    <screen android:screenSize="large" android:screenDensity="hdpi" />
    <screen android:screenSize="large" android:screenDensity="xhdpi" />
    <!-- all large size screens --> 
    <screen android:screenSize="xlarge" android:screenDensity="mdpi" />
    <screen android:screenSize="xlarge" android:screenDensity="hdpi" />
    <screen android:screenSize="xlarge" android:screenDensity="xhdpi" />
</compatible-screens>

在正常尺寸的屏幕中,我添加了一条屏幕密度 = 480 的线。这应该让三星 s5 等设备能够下载该应用程序。

在网上冲浪时,我发现为了避免从平板电脑下载应用程序,我应该删除专用于屏幕 xlarge 的部分。 但如果我这样做,我担心三星 s4 和三星 s5 等设备将无法下载我的应用程序。

这是真的吗?

【问题讨论】:

    标签: android android-manifest


    【解决方案1】:

    好吧,让我们看看。 你可以参考这个链接:

    http://developer.android.com/guide/practices/screens_support.html

    要知道什么尺寸意味着什么是“screenSize”或screenDensity,更具体地说,就是这张图片。

    因此,例如三星 S5 有一个 5.1 英寸的显示屏,从该图来看它很大;和 432 ppi 的密度,这意味着 xhdpi(好吧,它被认为是 xxhdpi 之类的东西,不是吗?)。 你为什么把它添加到正常状态?尺寸应该很大(除非硬件向操作系统提供了不正确的读数,但并非闻所未闻,但三星设备不太可能)。

    无论如何,删除他们所说的样子

        <compatible-screens>
    <!-- all small size screens -->
    <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="mdpi" />
    <screen android:screenSize="normal" android:screenDensity="hdpi" />
    <screen android:screenSize="normal" android:screenDensity="xhdpi" />
    <screen android:screenSize="normal" android:screenDensity="480" />
    <!-- all large size screens -->
    <screen android:screenSize="large" android:screenDensity="mdpi" />
    <screen android:screenSize="large" android:screenDensity="hdpi" />
    <screen android:screenSize="large" android:screenDensity="xhdpi" />
    

    不影响 s8。

    考虑到有多少设备遵循奇怪的规则运行 android(早期版本的 android 甚至不遵循这些确切的规则),阻止平板电脑从来都不是一件容易的事,也不是真的不可能。是的,我们都希望他们想出一个简单的平板电脑标签。

    留大表示某些平板电脑将能够安装您的应用(有 7 英寸平板电脑)。大吃大喝意味着大多数平板手机甚至旗舰手机都能获得成功。

    最后,您应该关注的是,阻止的不是设备定义,而是您的应用在该尺寸上的外观。希望这会有所帮助。

    编辑:这个 wiki 链接也非常有用wiki

    【讨论】:

    • 感谢您的回答。所以你认为我应该用 更改 并删除所有大屏幕尺寸部分?
    【解决方案2】:

    s4 将能够下载该行的应用程序:

    <screen android:screenSize="normal" android:screenDensity="480" /> 
    

    请检查: https://code.google.com/p/android/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars&groupby=&sort=&id=39622

    还有这个文档: http://developer.android.com/guide/practices/screens-distribution.html#FilteringHansetApps 在“声明一个应用程序仅适用于手机”中

    【讨论】:

    • @Bombolo 是的。 S5 和 S4 显示密度在同一个桶中。
    猜你喜欢
    • 2018-01-12
    • 1970-01-01
    • 2020-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多