Android: Как узнать реальный размер экрана устройства?

Я пробовал разные способы получить размер экрана устройства, но он всегда возвращал мне неправильный размер (791x480 вместо854x480). Это может быть связано с панелью навигации. На моем устройстве в настоящий момент работает JellyBean 4.1.1.

Я пытался:

Display display = getWindowManager().getDefaultDisplay();  
Point size = new Point();
display.getSize(size);
OpenGLRenderer.widthScreen = size.x;
OpenGLRenderer.heightScreen = size.y;

А также:

DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
String resolution = dm.widthPixels + "x" + dm.heightPixels;

Я использую следующий код, чтобы сделать приложение полноэкранным:

setContentView(mGLSurfaceView);
mGLSurfaceView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

Я заметил, что в logcat возвращается правильный размер:

01-01 03:05:06.967: I/InputReader(1961): 
    Device reconfigured: id=8, name='cyttsp-spi', 
    surface size is now 480x854, mode is 1

В моемAndroidManifest:

uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16"

Я использовал:

Получить реальное разрешение экрана на Ice Cream SandwichHTC Sensation Real ResolutionПолучить размеры экрана в пикселях

Почему я не могу получить реальный размер (480x854)? Или как я могу использовать поверхность, возвращенную «Переконфигурированное устройство»?

Ответы на вопрос(4)

Ваш ответ на вопрос