Question: I would like to do the following in my app:

* Portrait mode only for the phone
* Portrait mode and landscape mode for tablets.

I know i can easily change the orientation in the manifest file but that will affect the entire application. 

I have also thought of creating separate activities, to handle the different versions but i don't know how to detect the type of device using the application.

Does anyone know how to tackle this?

Answer: 
You can use the following piece of code to differentiate between normal/large screen and block the orientation change accordingly.

```
public static boolean isTablet(Context context) {
    return (context.getResources().getConfiguration().screenLayout
            & Configuration.SCREENLAYOUT_SIZE_MASK)
            >= Configuration.SCREENLAYOUT_SIZE_LARGE;
}

```
i suppose you can do small trick for it, try use `Configuration.screenLayout` :

```
  switch (this.getResources().getConfiguration().screenLayout) {
        case Configuration.SCREENLAYOUT_SIZE_SMALL:
                return "small";
            case Configuration.SCREENLAYOUT_SIZE_NORMAL:
                return "normal";
            case Configuration.SCREENLAYOUT_SIZE_LARGE:
                return "large";
            case 4: // screen xlarge 
                return "xlarge";
            default:
                return "undefined";
            }
        }

```

thanks