Android: Wie erhalte ich die tatsächliche Bildschirmgröße des Geräts?

Ich habe verschiedene Möglichkeiten ausprobiert, um die Bildschirmgröße des Geräts zu ermitteln, aber es hat mir immer die falsche Größe zurückgegeben (791x480 anstatt854x480). Möglicherweise liegt es an der Navigationsleiste. Auf meinem Gerät wird derzeit JellyBean 4.1.1 ausgeführt.

Ich habe es versucht:

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

Und:

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

Ich verwende den folgenden Code, um die App als Vollbild anzuzeigen:

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

Mir ist aufgefallen, dass im Logcat die richtige Größe zurückgegeben wird:

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

In meinemAndroidManifest:

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

Ich benutzte:

Holen Sie sich die echte Bildschirmauflösung auf Ice Cream SandwichHTC Sensation Echte AuflösungBildschirmabmessungen in Pixel abrufen

Warum kann ich die tatsächliche Größe nicht ermitteln (480x854)? Oder wie kann ich die vom „Gerät neu konfiguriert“ zurückgegebene Oberfläche verwenden?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage