Prévient l'orientation de l'image d'écran Live lorsque l'application est ouverte et que l'orientation est modifiée?

J'ai un problème d'orientation avec un Live Wallpaper que j'ai écrit. Fondamentalement, la toile tourne en fonction de l'application ouverte ci-dessus. J'ai testé ceci et j'ai réalisé que la méthode onSurfaceChanged () déclenche lorsque je retourne à l'écran d'accueil à partir d'une application précédemment ouverte qui a changé l'orientation.

Je suppose qu'une meilleure question serait, pourquoi mon Live Wallpaper Surface Change quand une application est-elle ouverte et son orientation est-elle modifiée? Existe-t-il un moyen d'empêcher mon orientation Live Wallpaper de changer de façon? Merci, j'espère que cela a du sens?

2 Solutions collect form web for “Prévient l'orientation de l'image d'écran Live lorsque l'application est ouverte et que l'orientation est modifiée?”

L'application Android redémarre l'activité lorsque l'orientation change. Vous pouvez soit utiliser

  1. Android: configChanges dans votre manifeste. L'activité est désactivée et redémarrée par défaut, lorsqu'un changement de configuration se produit au moment de l'exécution, mais la déclaration d'une configuration avec cet attribut empêchera l'activité de redémarrer. Au lieu de cela, l'activité reste en cours d'exécution et sa méthode onConfigurationChanged() est appelée.
  2. Utilisez Android: screenOrientatin = " portrait " ou " paysage ", il obligera l'application à s'exécuter dans le mode que vous spécifiez. Cependant, cela n'empêchera pas l'activité d'être arrêté et redémarré.

Vous pouvez gérer l'orientation de l'écran à partir de android.service.wallpaper.WallpaperService. Classe de moteur avec la méthode suivante:

 public void onSurfaceChanged(SurfaceHolder holder, int format, int width, int height) 

… il suffit de gérer l'événement en conséquence.

Vous ne pouvez PAS ajouter android: configChanges ni android: screenOrientation to WallpaperService! (Ce que vous utilisez lors de la création d'un fond d'écran en direct)

J'aurais ajouté cela comme un commentaire à la réponse "Anirudha", mais je n'ai pas assez de réputation pour le faire.

coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.