Android: como obter o tamanho real da tela do dispositivo?

Eu tentei diferentes maneiras de obter o tamanho da tela do dispositivo, mas sempre me retornou o tamanho errado (791x480 ao invés de854x480). Pode ser devido à barra de navegação. Meu dispositivo está executando o JellyBean 4.1.1.

Eu tentei:

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

E:

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

Estou usando o código a seguir para tornar o aplicativo em tela cheia:

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

Notei que no logcat, o tamanho certo é retornado:

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

No meuAndroidManifest:

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

Eu usei:

Obtenha a resolução real da tela no Ice Cream SandwichResolução real do HTC SensationObter dimensões de tela em pixels

Por que não consigo obter o tamanho real (480x854) Ou como posso usar a superfície retornada pelo "Dispositivo reconfigurado"?

questionAnswers(4)

yourAnswerToTheQuestion