I know this is an old thread but in case someone stumbles across this in 
the future the best way (for me at least) to solve this was to get the 
metrics of the screen size (width and height in pixels) calculate the 
hypotenuse then divide by the dpi.  In theory this gives you the dimension 
in inches of the screen size.

With that you can make the decision about what tablet means to you and then 
you can make decisions appropriately, here is a code snippet:


        DisplayMetrics metrics = new DisplayMetrics();

        getWindowManager().getDefaultDisplay().getMetrics(metrics);

        double inches = Math.sqrt((metrics.widthPixels * metrics.widthPixels) 
+ (metrics.heightPixels * metrics.heightPixels)) / metrics.densityDpi;

        if (inches > TABLET_SIZE)

        {

        this.setRequestedOrientation(ActivityInfo.
SCREEN_ORIENTATION_LANDSCAPE);

        }
And here are some of stats you get:
Samsung Nexus: 10-23 20:54:16.598: D/Enter(14861): Width: 1196 Height: 720 
DPI: 320 Density: 2.0
Droid: 10-24 07:12:42.436: D/Enter(1823):  Width: 854  Height: 480 DPI: 240 
Density: 1.5
Nexus 7: 10-23 20:55:06.405: D/Enter(15663): Width: 1280 Height: 736 DPI: 
213 Density: 1.33125
Samsung 10.1 10-23 21:10:49.180: D/Enter(3263):  Width: 1280 Height: 752 
DPI: 160 Density: 1.0


These equate to the following:
Galaxy Nexus = 4.3
Droid = 4.08
Nexus 7 = 6.9
Samsug 10.1 = 9.2

Based on this information I decided if a device was over 6 inches I would 
lock the rotation to landscape forcing a specific layout (of course you 
still have to make sure you are picking up the correct layout resources).

It is an imperfect solution but there is such a variance between devices 
and manufacturers there really isn't a perfect solution.

-Aaron

On Monday, March 28, 2011 11:38:34 AM UTC-5, ole! wrote:
>
> This thread has focused on the tablet screen as a distinguisher. 
> Another real problem is that tablets from a specific carrier (such as 
> the T-Mobile Galaxy), cannot make a phone call. 
> I have found no way to distinguish this characteristic of tablets. 
>
> What I have tried: 
> 1. catching an exception from start_activity using the ACTION_CALL 
> intent ( no exception) 
> 2. TelephonyManager.getPhoneType() returns a valid state (GSM) 
> 3. TelephonyManager.getCallState() return a valid state (IDLE) 
>
> Any ideas? 
>
> Olaf Lubeck 
>
> On Feb 25, 7:36 am, Mark Murphy <mmur...@commonsware.com> wrote: 
> > On Wed, Feb 23, 2011 at 12:47 PM, Carlo Codega <sazi...@gmail.com> 
> wrote: 
> > > Is there any numeric size about XLARGE screens? AFAIK there could be 
> > > smartphone devices with "xlarge" screens, or not? I don't see any 
> > > documentation which says that XLARGE screens are > 6 inches 
> > 
> > > Does xlarge refer to the phisical size? or resolution? 
> > 
> > Neither, though physical size is more relevant. 
> > 
> > Screen size, in terms of small/normal/large/xlarge, will be determined 
> > by device manufacturers based upon physical screen size and the 
> > distance that screen will be from the user. A phone is held closer to 
> > the user's eyes than is a tablet, and both are held closer to the 
> > user's eyes than is an LCD TV. 
> > 
> > At best, Google might come up with a size guideline per form factor -- 
> > 10" tablets are xlarge, for example. However, in the end, the device 
> > manufacturer will choose the value for the device. How the device 
> > manufacturer makes that choice, AFAIK, is up to the device 
> > manufacturer. 
> > 
> > -- 
> > Mark Murphy (a Commons Guy)http://commonsware.com|
> http://github.com/commonsguyhttp://commonsware.com/blog|http://twitter.com/commonsguy
>  
> > 
> > _The Busy Coder's Guide to *Advanced* Android Development_ Version 1.9 
> > Available!

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to