Что ж, лучшее решение, которое сработало для меня, довольно просто:
private boolean isTabletDevice(Resources resources) {
int screenLayout = resources.getConfiguration().screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK;
boolean isScreenLarge = (screenLayout == Configuration.SCREENLAYOUT_SIZE_LARGE);
boolean isScreenXlarge = (screenLayout == Configuration.SCREENLAYOUT_SIZE_XLARGE);
return (isScreenLarge || isScreenXlarge);
}
Используется так:
public void onCreate(Bundle savedInstanceState) {
[...]
if (this.isTabletDevice(this.getResources()) == true) {
[...]
}
}
Я действительно не хочу смотреть на размеры пикселей, а полагаюсь только на размер экрана.
Работает хорошо, так как Nexus 7 (БОЛЬШОЙ) определяется как планшет, но не Galaxy S3 (НОРМАЛЬНЫЙ).