So verwenden Sie @ ActivityInfo.ScreenOrientation

Ich versuche, eine Methode zu erstellen, die mir die Screenorientation zurückgibt, die davon abhängt, ob das Gerät ein Handheld oder ein Tablet ist.

public int getScreenOrientation(boolean isTablet){ if(isTablet){ return ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE; } else { return ActivityInfo.SCREEN_ORIENTATION_PORTRAIT; } } 

Aber wenn ich setRequestedOrientation(getScreenOrientation)); Ich bekomme einen Must be one of: ActivityInfo.SCREEN_ORIENTATION_......... was ich unterdrücken kann, aber das sieht nicht wie sauberer Code aus.

  • Was ist der Unterschied zwischen Display.getRotation () und Display.getOrientation () abgesehen von der Tatsache, dass Display.getOrientation () abgelehnt ist?
  • Fehler: Die angeforderte URL hat Fehler: 403 Verboten während des Zugriffs
  • Android Eclipse Popup Nachricht mit Button
  • So entfernen Sie den umliegenden Schatten von FloatingActionButton?
  • Ich möchte Textansicht als anklickbaren Link
  • Auto-Generierung Android Log TAG in Android Studio / Intellij Idee
  • So fand ich, dass getRequestedOrientation die @ActivityInfo.ScreenOrientation Annotation verwendet. Also habe ich versucht, es selbst zu benutzen:

     @ActivityInfo.ScreenOrientation public int getScreenOrientation(boolean isTablet){ . . . } 

    Aber die IDE gibt mir einen Fehler, dass die Annotation @ActivityInfo.ScreenOrientation nicht gefunden werden konnte. Aber es wird in der offiziellen-androiden Quelle öffentlich erklärt.

  • Das Standardbild von NetworkImageView ohne Netzwerkanforderung anzeigen
  • "ArrayAdapter erfordert die Ressourcen-ID als TextView" xml Probleme
  • Kontakt einfügen (KontakteKontrakt) über Absicht mit Bild (Foto)
  • Öffnen Sie das ServiceMode-Menü programmgesteuert in Android
  • Eine genauere explaniton von procstats für Android
  • SMS-Registrierung wie in der mobilen App: whatsapp
  • 2 Solutions collect form web for “So verwenden Sie @ ActivityInfo.ScreenOrientation”

    Setzen Sie den folgenden Kommentar über die lästige Anweisung, wo die magische Konstante Inspektion für @IntDef und @StringDef Annotation ausgelöst wird, zum Beispiel:

     //noinspection ResourceType setRequestOrientation(lock); 

    Versuchen @IntegerRes stattdessen die Annotation @IntegerRes . Dies sollte für Sie gut funktionieren, da Sie ein Integer-Ressource-Attribut von android.R.attr zurückgeben.

    https://developer.android.com/reference/android/support/annotation/IntegerRes.html http://developer.android.com/reference/android/R.attr.html#screenOrientation

    Das folgende Beispiel funktioniert für mich ohne IDE-Fehler oder Warnungen.

     @IntegerRes public static int getScreenOrientationPref() { if(sharedPreferences.getBoolean("LockOrientation", true)) { int orientation = sharedPreferences.getInt("Orientation", Configuration.ORIENTATION_LANDSCAPE); if(orientation == Configuration.ORIENTATION_LANDSCAPE) { return ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE; } else { return ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT; } } return ActivityInfo.SCREEN_ORIENTATION_USER; } 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.