Android Manifest Restrict To Tablets

32,002

Solution 1

You will find this link awesome: http://android-developers.blogspot.com/2011/09/preparing-for-handsets.html

The problem with what we call "tablet" is that the definition is not the same for evryone. I think about the Archos 5IT that is the same size than a phone but branded with "tablet" name. Same issue with Dell Streak.

I would personnaly not call that a tablet..

So if you want to restrict to 7 or 5 inches devices, you should use xlargeScreens and largeScreens.

(There is also a bug in HTC flyer - 7 inches- that uses largeScreens, blame HTC)

I guess that playing with Screen size in Manifest will fit your needs:

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

enter image description here

Solution 2

please review the docs - http://developer.android.com/guide/practices/screens-distribution.html.

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

Solution 3

              android:requiresSmallestWidthDp="600"
              android:compatibleWidthLimitDp="integer"
              android:largestWidthLimitDp="integer"

Be careful, Android Market currently does not support this attribute for filtering (from the official guide).

use support screen large and xlarge and now you have two options:

  • exclude the large screen devices which are not tablets manually from Market(+500...)

  • You can measure programmatically the width and if it width<600 say the user that the app is not compatible.

While that we'll have to wait for the Market to filter by android:requiresSmallestWidthDp="600" ...

Share:
32,002
Daniel Delaney
Author by

Daniel Delaney

C#/.NET Developer. Recovering C++ user. Coffee lover.

Updated on November 16, 2020

Comments

  • Daniel Delaney
    Daniel Delaney over 3 years

    For business reasons I'd like to restrict my Android application strictly to tablet devices.

    At the moment, I can limit the app to Honeycomb devices by setting:

    android:minSdkVersion="11"
    

    But the next version of Android (Ice Cream Sandwich) will have a higher version number for both the tablet and phone versions of the OS.

    Is there any manifest attribute I can specify to restrict it to tablet devices? (Honeycomb or any later tablet version)