Android 支持手机和手机,而不是平板电脑

Android 支持手机和手机,而不是平板电脑,android,android-manifest,tablet,Android,Android Manifest,Tablet,我最近把我的应用上传到Play Store,它只支持手机和手机。 因此,我插入以下代码,仅支持手机和手机,根据 您可以使用而不是,因为它不需要您指定应用程序支持的每个屏幕密度 手持设备示例: <supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="false"

我最近把我的应用上传到Play Store,它只支持手机和手机。 因此,我插入以下代码,仅支持手机和手机,根据


您可以使用
而不是
,因为它不需要您指定应用程序支持的每个屏幕密度

手持设备示例:

<supports-screens android:smallScreens="true"
                  android:normalScreens="true"
                  android:largeScreens="false"
                  android:xlargeScreens="false"
                  android:requiresSmallestWidthDp="320" />

资料来源:

干杯

编辑更新到ANDROID OREO:

根据您的评论“编辑:问题只发生在升级到最新固件的人身上,这使手机能够支持WQHD。”

可能的逻辑原因:问题这些设备先前抑制了它们的真实屏幕(制造商/安卓操作系统)分辨率,因此代码在所有设备上都按预期工作

升级到新的Android OS/Oreo,释放了该设备真正的屏幕分辨率功能,由此引发了一个问题

设置-显示-屏幕分辨率(有3个设置)

建议的测试/验证是将分辨率设置为最低。尝试安装/运行应用程序

参考:

这显然超出了您的代码控制目前,因为它是对Android API 8.0 Oreo util文档的全新升级,同时,您可以找到一个解决方案,包括这些设备的最大分辨率或教育用户。

您可以使用
,而不是
,因为它不需要您指定应用程序支持的每个屏幕密度

手持设备示例:

<supports-screens android:smallScreens="true"
                  android:normalScreens="true"
                  android:largeScreens="false"
                  android:xlargeScreens="false"
                  android:requiresSmallestWidthDp="320" />

资料来源:

干杯

编辑更新到ANDROID OREO:

根据您的评论“编辑:问题只发生在升级到最新固件的人身上,这使手机能够支持WQHD。”

可能的逻辑原因:问题这些设备先前抑制了它们的真实屏幕(制造商/安卓操作系统)分辨率,因此代码在所有设备上都按预期工作

升级到新的Android OS/Oreo,释放了该设备真正的屏幕分辨率功能,由此引发了一个问题

设置-显示-屏幕分辨率(有3个设置)

建议的测试/验证是将分辨率设置为最低。尝试安装/运行应用程序

参考:


这显然超出了您的代码控制目前因为它提供了对Android API 8.0 Oreo util文档的全新升级,同时您还可以解决这些设备的最大分辨率问题或教育用户。

除了@Khalid answer,使用
将启用屏幕兼容模式,让平板电脑用户能够下载

这是不可避免的,因为
无法区分较新版本的Android(或三星),后者允许用户动态设置分辨率(HD+、FHD+和WQHD+),并且无法真正确定屏幕密度

为了解决这个问题,我在应用程序启动时添加了一个验证器来检查屏幕大小

    public boolean checkUnsupportedSize() {
    int screenSize = this.getResources().getConfiguration().screenLayout &
            Configuration.SCREENLAYOUT_SIZE_MASK;

    switch(screenSize) {
        case Configuration.SCREENLAYOUT_SIZE_SMALL:
            return false;
        case Configuration.SCREENLAYOUT_SIZE_NORMAL:
            return false;
        default:
            return true;
    }
}

    if (checkUnsupportedSize()) {
    YourActivity.this.finish();
}
由于手机和平板电脑总是使用小而普通的屏幕大小,我们可以区分其他屏幕大小并强制退出应用程序

在GooglePlay对手机、手机和平板电脑进行适当过滤之前,这是我能想到的解决办法


干杯。

除了@Khalid answer,使用
将启用屏幕兼容模式,并让平板电脑用户能够下载

这是不可避免的,因为
无法区分较新版本的Android(或三星),后者允许用户动态设置分辨率(HD+、FHD+和WQHD+),并且无法真正确定屏幕密度

为了解决这个问题,我在应用程序启动时添加了一个验证器来检查屏幕大小

    public boolean checkUnsupportedSize() {
    int screenSize = this.getResources().getConfiguration().screenLayout &
            Configuration.SCREENLAYOUT_SIZE_MASK;

    switch(screenSize) {
        case Configuration.SCREENLAYOUT_SIZE_SMALL:
            return false;
        case Configuration.SCREENLAYOUT_SIZE_NORMAL:
            return false;
        default:
            return true;
    }
}

    if (checkUnsupportedSize()) {
    YourActivity.this.finish();
}
由于手机和平板电脑总是使用小而普通的屏幕大小,我们可以区分其他屏幕大小并强制退出应用程序

在GooglePlay对手机、手机和平板电脑进行适当过滤之前,这是我能想到的解决办法

干杯