【问题标题】:How to separate android device with screen size如何将安卓设备与屏幕大小分开
【发布时间】:2013-07-23 05:04:55
【问题描述】:

如何根据屏幕大小分离安卓设备。我有一个应该从 Android 版本 3 运行的 apk,但我只想在平板电脑上运行该应用程序,而不是在普通设备上运行。我不知道该怎么做。我觉得

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

此代码将有助于满足我的需要。但是从 google play 安装时有没有其他方法可以限制设备。

【问题讨论】:

  • 是的,当您上传 APK 时,您可以选择可以下载的设备,只需到那里,取消选择所有并重新选择平板电脑。
  • stackoverflow.com/a/17585605/1835764 可能会对您有所帮助。
  • 那么,您是否希望该应用程序现在在任何设备(而非平板电脑)上显示在 Google Play 中?或者如果它不是平板电脑,您是否只想在启动时关闭?另请注意,从其他设备中识别平板电脑并没有什么特别之处,因为 Android 旨在在任何设备上运行。
  • 谢谢亲爱的,请投一票...

标签: android performance android-screen


【解决方案1】:

在您的启动页面或首页检查设备屏幕尺寸非常简单-

 DisplayMetrics metrics = new DisplayMetrics();
    Display mDisplay = MainActivity.this.getWindowManager()
      .getDefaultDisplay();
    getWindowManager().getDefaultDisplay().getMetrics(metrics);
    float screenDensity = metrics.density;
    float screenDensityDPI = metrics.densityDpi;
    int width = mDisplay.getWidth();
    int Height = mDisplay.getHeight();

    Log.e("Density:", String.valueOf(screenDensity + "---"
      + screenDensityDPI));

如果是 1280*720 则继续,因此通知此应用仅适用于平板电脑..

享受:)

Reference code-

【讨论】:

  • 谢谢,我知道了。但我不想在安装后将我的应用程序在 google play 中分离出来。
  • 没有其他办法... android 怎么知道你正在为平板电脑开发?您可以只在您的应用上提及,请仅使用平板电脑.. 所以用户不会安装它..
  • 我猜它就在那里。检查 Araib karim 的答案。清单将分开我们仅适用于平板设备。但我仍然努力测试过。请对他的回答提出一些建议,它不起作用。
  • 我检查了,但我认为他的想法只适用于 android 版本 11..
  • 而且这条线永远行不通---
【解决方案2】:

您是在开发原生应用还是 phonegap 应用?如果是 phonegap 应用,您可以使用媒体查询来限制屏幕尺寸。

【讨论】:

  • 它是一个原生应用程序。
【解决方案3】:

是的,你可以这样做:

Designing an android tablet-only app

希望对你有帮助:)

【讨论】:

  • 太棒了。谢谢!!我想我得到了我的问题的答案。这对我有很大帮助。一旦工作正常,我接受你的回答:)
【解决方案4】:

试试这个

DisplayMetrics metrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(metrics);

    int widthInPixels = metrics.widthPixels;
    int heightInPixels = metrics.heightPixels;

    if (widthInPixels > 600 || heightInPixels > 600) {
        // This is a tablet dont run
    }

if(tabletSize() > 6)
        Log.d("Testing", "Is Tablet ");
    else
        Log.d("Testing", "Not a Tablet ");

public double tabletSize() {

    double size = 0;
    try {
        // Compute screen size
        DisplayMetrics dm = getApplicationContext().getResources().getDisplayMetrics();
        float screenWidth = dm.widthPixels / dm.xdpi;
        float screenHeight = dm.heightPixels / dm.ydpi;
        size = Math.sqrt(Math.pow(screenWidth, 2) +
        Math.pow(screenHeight, 2));
    } catch (Exception e) {
        Log.e("Testing", "Exception " + e);
    }
    return size;
}

这将为您提供以英寸为单位的设备尺寸,因此您可以将其限制为特定的屏幕尺寸(通常一个表格大于 6)

【讨论】:

  • 谢谢 Girish,我知道这个概念。但我想在安装应用程序后将我的应用程序与 google play 本身分开。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多