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

阿米尔·法尔汉 |

我最近将我的应用上传到 Play 商店,它只支持手机和平板手机。因此,根据https://developer.android.com/guide/practices/screens-distribution.html,我插入以下代码以仅支持手机和平板手机

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <uses-permission android:name="com.xxx.yyy.permission.C2D_MESSAGE" />

    <compatible-screens>
      <screen android:screenSize="small" android:screenDensity="ldpi" />
      <screen android:screenSize="small" android:screenDensity="mdpi" />
      <screen android:screenSize="small" android:screenDensity="hdpi" />
      <screen android:screenSize="small" android:screenDensity="xhdpi" />
      <screen android:screenSize="small" android:screenDensity="xxhdpi" />
      <screen android:screenSize="small" android:screenDensity="xxxhdpi" />
      <screen android:screenSize="small" android:screenDensity="420" />
      <screen android:screenSize="small" android:screenDensity="480" />
      <screen android:screenSize="small" android:screenDensity="560" />
      <screen android:screenSize="small" android:screenDensity="640" />
      <!-- all normal size screens -->
      <screen android:screenSize="normal" android:screenDensity="ldpi" />
      <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="xxhdpi" />
      <screen android:screenSize="normal" android:screenDensity="xxxhdpi" />
      <screen android:screenSize="normal" android:screenDensity="420" />
      <screen android:screenSize="normal" android:screenDensity="480" />
      <screen android:screenSize="normal" android:screenDensity="560" />
      <screen android:screenSize="normal" android:screenDensity="640" />
    </compatible-screens>

    <application android:name=".AppApplication" 
android:allowBackup="false" 
android:icon="@mipmap/ic_launcher" 
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round" 
android:supportsRtl="true" 
android:theme="@style/AppTheme" 
android:largeHeap="true"/>

当三星 S8 尝试安装时,奇怪的事情开始出现。它将具有三种可能性。华为Mate 9也有类似情况。

  1. 能够找到应用程序并安装。
  2. 能够找到该应用程序,但显示错误“您的设备与此版本不兼容”。
  3. 根本找不到该应用程序。

我的问题是,我该如何解决这个问题?Google Play Console 表示支持除我上面提到的平板电脑之外的所有设备。还是与最近的手机刚刚实施的 WQHD 相关?

编辑:该问题仅发生在升级到最新固件的人身上,这使手机能够支持 WQHD。

阿米尔·法尔汉 |

除了@Khalid 的回答,使用<support-screens>将启用屏幕兼容模式并让平板电脑用户能够下载。

这是不可避免的,因为<compatible-screens>无法区分使用户能够动态设置分辨率(HD+、FHD+ 和 WQHD+)的较新版本的 Android(或三星),并且无法真正确定屏幕密度。

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

    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();
}

由于手机和平板手机总是使用小和正常的屏幕尺寸,我们可以区分其他屏幕尺寸并强制应用程序退出。

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

干杯。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

手机和平板电脑应用

来自分类Dev

手机和平板电脑的不同布局的牛刀

来自分类Dev

手机和平板电脑专用网站

来自分类Dev

手机和平板电脑的用户界面

来自分类Dev

Codenameone 中手机和平板电脑的样式布局

来自分类Dev

UiAutomator检测平板电脑与手机

来自分类Dev

在Android上为手机和平板电脑设置不同的方向

来自分类Dev

可以使用Ionic 2更改手机和平板电脑的布局吗?

来自分类Dev

设计手机的肖像和平板电脑的风景。使用片段

来自分类Dev

Bootstrap XS版本不适用于手机和平板电脑

来自分类Dev

为Android手机和平板电脑创建不同的布局

来自分类Dev

如何使Android在手机和平板电脑的应用中佩戴Vibrate?

来自分类Dev

plupload智能手机和平板电脑浏览按钮事件未触发

来自分类Dev

手机和平板电脑抖动时相机预览旋转行为一致

来自分类Dev

CSS显示没有手机和平板电脑显示在同一查询中

来自分类Dev

为什么媒体查询无法在手机和平板电脑上使用

来自分类Dev

适用于智能手机和平板电脑的Android应用

来自分类Dev

为Android手机和平板电脑创建不同的布局

来自分类Dev

如何使用Hammer.js在手机和平板电脑上运行触摸滑动

来自分类Dev

如何使Android在手机和平板电脑的应用中佩戴Vibrate?

来自分类Dev

可以使用Ionic 2更改手机和平板电脑的布局吗?

来自分类Dev

如何为支持平板电脑和手机的应用程序提供导航

来自分类Dev

如何查找Android手机或平板电脑是否支持Android Open Accessory(AOA)协议?

来自分类Dev

检测平板电脑和智能手机

来自分类Dev

Android版式设计:平板电脑优先或手机优先

来自分类Dev

修改网页,使其更兼容手机/平板电脑

来自分类Dev

Laravel检测手机/平板电脑并加载正确的视图

来自分类Dev

片段中的操作栏-平板电脑和手机

来自分类Dev

修复了平板电脑和手机问题的导航栏

Related 相关文章

  1. 1

    手机和平板电脑应用

  2. 2

    手机和平板电脑的不同布局的牛刀

  3. 3

    手机和平板电脑专用网站

  4. 4

    手机和平板电脑的用户界面

  5. 5

    Codenameone 中手机和平板电脑的样式布局

  6. 6

    UiAutomator检测平板电脑与手机

  7. 7

    在Android上为手机和平板电脑设置不同的方向

  8. 8

    可以使用Ionic 2更改手机和平板电脑的布局吗?

  9. 9

    设计手机的肖像和平板电脑的风景。使用片段

  10. 10

    Bootstrap XS版本不适用于手机和平板电脑

  11. 11

    为Android手机和平板电脑创建不同的布局

  12. 12

    如何使Android在手机和平板电脑的应用中佩戴Vibrate?

  13. 13

    plupload智能手机和平板电脑浏览按钮事件未触发

  14. 14

    手机和平板电脑抖动时相机预览旋转行为一致

  15. 15

    CSS显示没有手机和平板电脑显示在同一查询中

  16. 16

    为什么媒体查询无法在手机和平板电脑上使用

  17. 17

    适用于智能手机和平板电脑的Android应用

  18. 18

    为Android手机和平板电脑创建不同的布局

  19. 19

    如何使用Hammer.js在手机和平板电脑上运行触摸滑动

  20. 20

    如何使Android在手机和平板电脑的应用中佩戴Vibrate?

  21. 21

    可以使用Ionic 2更改手机和平板电脑的布局吗?

  22. 22

    如何为支持平板电脑和手机的应用程序提供导航

  23. 23

    如何查找Android手机或平板电脑是否支持Android Open Accessory(AOA)协议?

  24. 24

    检测平板电脑和智能手机

  25. 25

    Android版式设计:平板电脑优先或手机优先

  26. 26

    修改网页,使其更兼容手机/平板电脑

  27. 27

    Laravel检测手机/平板电脑并加载正确的视图

  28. 28

    片段中的操作栏-平板电脑和手机

  29. 29

    修复了平板电脑和手机问题的导航栏

热门标签

归档