Android: Jak uzyskać rzeczywisty rozmiar ekranu urządzenia?

Próbowałem różnych sposobów uzyskania rozmiaru ekranu urządzenia, ale zawsze zwracał mi zły rozmiar (791x480 zamiast854x480). Może to wynikać z paska nawigacyjnego. Moje urządzenie jest aktualnie uruchomione JellyBean 4.1.1.

Próbowałem:

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

I:

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

Używam następującego kodu do pełnego ekranu aplikacji:

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

Zauważyłem, że w logcacie zwracany jest odpowiedni rozmiar:

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

W moimAndroidManifest:

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

Użyłem:

Uzyskaj prawdziwą rozdzielczość ekranu w Ice Cream SandwichHTC Sensation Real ResolutionUzyskaj wymiary ekranu w pikselach

Dlaczego nie mogę uzyskać prawdziwego rozmiaru (480x854)? Lub jak mogę użyć powierzchni zwróconej przez „Urządzenie ponownie skonfigurowane”?

questionAnswers(4)

yourAnswerToTheQuestion