如何限制该应用不会在平板电脑上运行,而不能在手机上运行

时间:2013-07-24 09:53:09

标签: android

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

请帮我解决如何申请平板电脑的问题。

<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" />

3 个答案:

答案 0 :(得分:1)

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

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

有关详情,请参阅此Link

答案 1 :(得分: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过滤应用程序,如果设备屏幕大小和   密度与任何屏幕配置都不匹配....

另见How can I ensure that my app is only available to phones on Android Market?

答案 2 :(得分:-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;
    }