2010-12-03 14 views
1

Ich frage mich, ob Android eine Absicht überträgt, wenn sich die Bildschirmausrichtung ändert. Ich programmiere ein Live Wallpaper und möchte damit umgehen, wenn sich die Bildschirmausrichtung ändert. Ich kann das gleiche mit regulären Apps handhaben.Absicht für Bildschirmausrichtung ändern

Antwort

4

Das Android-System sendet keinen Intent, startet die Aktivität jedoch standardmäßig neu. Wenn Sie dies überschreiben möchten, sollten Sie die Methode onConfigurationChanged(Configuration) Ihrer Aktivität überschreiben. Um diese Methode aufzurufen, sollten Sie auch das Attribut android:configChanges in Ihrer Manifestdatei angeben.

Siehe, was und wie zu spezifizieren here.

+0

Aber ich habe es hier mit einem Live Wallpaper zu tun. Keine Aktivität. Danke für deine Antwort @Vladimir –

+0

Sorry, du hast Recht. Danke für die Antwort @Vladimir Ivanov –

1

Ich denke nicht, dass es tut, aber Sie können die Konfiguration immer in einem wiederholten Intervall überprüfen, um zu sehen, ob es sich geändert hat. Rufen Sie den Konfigurationsaufruf getResources().getConfiguration() ab und überprüfen Sie die Ausrichtung.

+0

@Vladimir Ivanov Antwort ist besser. Ich habe nicht erkannt, dass WallpaperService eine Unterklasse von Context ist und implementiert daher onConfigurationChanged (Configuration) – Gallal

2

Ich denke, "android.intent.action.CONFIGURATION_CHANGED" ist was du willst.

0

Nun, wenn die App nicht im Vordergrund steht, diese

"onConfigurationChanged (Konfiguration)"

Methode funktioniert nicht (zum Beispiel, wenn die App ein Overlay in einem Dienst anzeigt)

Verwandte Themen