我想让我的应用程序仅用于智能手机而非平板电脑。
在清单中,我已将此行用于屏幕兼容性
<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这样的设备将无法下载我的应用程序。
这是真的吗?
答案 0 :(得分:3)
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
答案 1 :(得分:1)
s4将能够下载此行的应用程序:
<screen android:screenSize="normal" android:screenDensity="480" />
和这个doc: http://developer.android.com/guide/practices/screens-distribution.html#FilteringHansetApps 在&#34;声明应用程序仅适用于手机&#34;