私が書いたライブ壁紙の向きに問題があります。基本的に、キャンバスはその上で開いているアプリケーションに応じて回転します。これをテストしたところ、向きが変更された以前に開いていたアプリケーションからホーム画面に戻ると、onSurfaceChanged() メソッドが起動していることに気付きました。
より良い質問は、アプリケーションを開いて向きを変更すると、ライブ壁紙の表面が変わるのはなぜですか? ライブ壁紙の向きが変わらないようにする方法はありますか? ありがとうございます。
私が書いたライブ壁紙の向きに問題があります。基本的に、キャンバスはその上で開いているアプリケーションに応じて回転します。これをテストしたところ、向きが変更された以前に開いていたアプリケーションからホーム画面に戻ると、onSurfaceChanged() メソッドが起動していることに気付きました。
より良い質問は、アプリケーションを開いて向きを変更すると、ライブ壁紙の表面が変わるのはなぜですか? ライブ壁紙の向きが変わらないようにする方法はありますか? ありがとうございます。
android.service.wallpaper.WallpaperService 内から画面の向きを処理できます。次のメソッドを持つエンジンクラス:
public void onSurfaceChanged(SurfaceHolder holder, int format, int width, int height)
...それに応じてイベントを処理するだけです。
android:configChangesやandroid:screenOrientationを WallpaperService に追加することはできません。(ライブ壁紙作成時に使用しているもの)
これを「Anirudha」の回答へのコメントとして追加したかったのですが、そうするだけの評判がありません。
向きが変わると、Android アプリケーションはアクティビティを再開します。どちらかを使用できます
onConfigurationChanged()
メソッドが呼び出されます。