Текущее устройство планшет? - PullRequest
0 голосов
/ 17 февраля 2012

Есть ли способ определить, является ли текущее устройство планшетным Android 2.2 и выше?

В настоящее время я использую минимальный размер экрана, но есть некоторые планшеты (Viewsonic ViewPad7 480x800) с разрешением, таким как телефоны или дажеменьше (например, HTC Evo 3D имеет 960x540).

Есть ли какие-либо аппаратные свойства для чтения?

Ответы [ 3 ]

0 голосов
/ 17 февраля 2012

Следующий код вернет фактическое разрешение физического устройства.

Display d = getWindowManager().getDefaultDisplay();
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
int h = d.getWidth();
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
int w = d.getWidth();
0 голосов
/ 17 февраля 2012

Надежной разницы между телефонами и планшетами нет, указывать ее можно только с помощью определенных функций, ниже можно использовать совместно друг с другом

String Build.VERSION.RELEASE предоставит вам видимую пользователем строку версии (т.е. 1.5, 1.6, 2.0), а Build.VERSION.SDK_INT даст вам значение из Build.VERSION_CODES. Помните, что Build.VERSION.SDK_INT работает на Android 1.6 выше, но не на 1.5. Build.VERSION.SDK будет работать на 1.5 или выше.

  1. http://developer.android.com/reference/android/os/Build.html
  2. http://developer.android.com/reference/android/os/Build.VERSION.html

И DisplayMetrics описывает общую информацию о дисплее

 DisplayMetrics metrics = new DisplayMetrics();
 getWindowManager().getDefaultDisplay().getMetrics(metrics);
0 голосов
/ 17 февраля 2012

Вы можете использовать getResources().getConfiguration()

Например:

getResources().getConfiguration().navigation
...