1

我正在制作一个只能在平板电脑而不是手机上运行的应用程序。我使用此代码,但它甚至安装在移动设备中。

请帮助我如何只为平板电脑制作应用程序。

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="16" />

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

3 回答 3

1

如果您希望您的应用程序仅可用于平板设备,您可以在清单中声明该元素,如下所示:

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

有关更多信息,请参阅此链接

于 2013-07-24T09:58:39.097 回答
1

这可能会帮助您:

http://developer.android.com/guide/practices/screens-distribution.html http://developer.android.com/guide/topics/manifest/compatible-screens-element.html http://developer.android。 com/google/play/publishing/multiple-apks.html

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

.

如果设备屏幕尺寸和密度与任何屏幕配置不匹配,Android Market 会过滤应用程序....

另请参阅如何确保我的应用仅适用于 Android Market 上的手机?

于 2013-07-24T10:19:14.907 回答
-1

您可以使用此代码来检测设备是否为平板电脑:

public boolean isTablet() {
        Log.d(Constants.TAG, "CHECK_TABLET isTablet entry["+isTablet+"]");
        if (isTablet == null) {
            int deviceSizeMask = getResources().getConfiguration().screenLayout
                    & Configuration.SCREENLAYOUT_SIZE_MASK;
            float screenDensity = getResources().getDisplayMetrics().density;




            if (deviceSizeMask == Configuration.SCREENLAYOUT_SIZE_XLARGE
                    || (deviceSizeMask == Configuration.SCREENLAYOUT_SIZE_LARGE && screenDensity < 2.0f)) {
                isTablet = true;
            } else {
                isTablet = false;
            }

            Log.d(Constants.TAG, "CHECK_TABLET deviceSizeMask["+deviceSizeMask+"] screenDensity["+screenDensity+"] isTablet["+isTablet+"]");
        }
        Log.d(Constants.TAG, "CHECK_TABLET isTablet exit["+isTablet+"]");
        return isTablet;
    }
于 2013-07-24T09:58:22.377 回答