Nexus 6的屏幕尺寸和密度配置是什么?

时间:2015-02-03 11:19:30

标签: android android-manifest google-nexus device-compatibility

我的应用并未将Nexus 6列为Google Play控制台中支持的设备。

我阅读了帖子Getting Your Apps Ready for Nexus 6 and Nexus 9,其中写道:

  

Nexus 6的量子化密度 560 dpi ,介于两者之间   xxhdpi和xxxhdpi主密度桶。

关于我的问题有一个段落:

  

确保您未在​​Google Play上过滤

     

如果您正在使用    你在AndroidManifest.xml文件中的元素   应该停止使用它,因为它不可扩展以重新编译和   每次新设备发布时都会发布您的应用。但是,如果必须的话   使用它,确保更新清单以添加配置   这些设备(按屏幕尺寸和密度)。否则您的应用可能是   从这些设备上的Google Play搜索结果中排除。

好吧,我必须使用<compatible-screens>,因为我试图将我的应用从平板电脑中排除。

我在Manifest中的当前<compatible-screens>元素如下所示:

<compatible-screens>
    <!-- small size screens -->
    <screen
        android:screenDensity="ldpi"
        android:screenSize="small" />
    <screen
        android:screenDensity="mdpi"
        android:screenSize="small" />
    <screen
        android:screenDensity="hdpi"
        android:screenSize="small" />
    <screen
        android:screenDensity="xhdpi"
        android:screenSize="small" />
    <screen
        android:screenDensity="480"
        android:screenSize="small" />

    <!-- normal size screens -->
    <screen
        android:screenDensity="ldpi"
        android:screenSize="normal" />
    <screen
        android:screenDensity="mdpi"
        android:screenSize="normal" />
    <screen
        android:screenDensity="hdpi"
        android:screenSize="normal" />
    <screen
        android:screenDensity="xhdpi"
        android:screenSize="normal" />
    <screen
        android:screenDensity="480"
        android:screenSize="normal" />
    <screen
        android:screenDensity="640"
        android:screenSize="normal" />
</compatible-screens>

Nexus 6的正确配置是什么?

我试过了:

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

但似乎没有一个可以解决问题。

1 个答案:

答案 0 :(得分:6)

我询问了Google Play支持并得到了一个帮助我解决问题的答案。

仍然没有100%确定正确的屏幕配置,但似乎

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

是正确的选择。


我的应用程序与Nexus 6不兼容,但由于我的应用程序的清单中存在冲突。我使用了以下功能要求:

<uses-feature android:name="android.hardware.LOCATION" />
<uses-feature android:name="android.hardware.TELEPHONY" />
<uses-feature android:name="android.hardware.TOUCHSCREEN" />
<uses-feature android:name="android.hardware.WIFI" />
<uses-feature android:name="android.hardware.location.GPS" />
<uses-feature android:name="android.hardware.location.NETWORK" />
<uses-feature android:name="android.hardware.screen.PORTRAIT" />

但正确的版本是以全部小写字母列出的功能:

<uses-feature android:name="android.hardware.location" />
<uses-feature android:name="android.hardware.telephony" />
<uses-feature android:name="android.hardware.touchscreen" />
<uses-feature android:name="android.hardware.wifi" />
<uses-feature android:name="android.hardware.location.gps" />
<uses-feature android:name="android.hardware.location.network" />
<uses-feature android:name="android.hardware.screen.portrait" />

这有点棘手,因为权限(在<uses-permission>中)喜欢

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

应以大写字母列出,但功能(在<uses-feature>中)应为小写

我还没有在任何其他设备上遇到同样的问题,但如果Nexus 6要求这样做,那么它可能是正确的做法。